`
wuhuizhong
  • 浏览: 667025 次
  • 性别: Icon_minigender_1
  • 来自: 中山
社区版块
存档分类
最新评论

监控 Linux 性能的 18 个命令行工具

 
阅读更多

对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。

LitStone
LitStone
翻译于 6天前

3人顶

 翻译的不错哦!

1.Top-Linux进程监控

Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。对系统管理员来说,top命令式是一个非常有用的,它可用于监控系统并在需要的时候采取正确的处理动作。让我们看看实际中的top命令。

# top

Top Command ExampleTop命令举例
有关Top命令更多的例子,请阅读:Linux下12个使用Top命令的例子

几点人
几点人
翻译于 5天前

0人顶

 翻译的不错哦!

2. VmStat – 虚拟内存统计

Linux 的 VmStat 命令用于显示虚拟内存内核线程磁盘系统进程I/O 块中断CPU 活动等的统计信息。缺省情况下, vmstat 命令在 Linux 系统下不可用,你需要安装一个包含了 vmstat 程序的 sysstat 软件包。命令格式的常见用法是:

# vmstatprocs -----------memory---------- ---swap-- -----io---- --system-- -----cpu----- r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

更多的 vmstat 例子,请阅读 :6 Linux 下的 Vmstat 命令实例

yxrykds
yxrykds
翻译于 6天前

1人顶

 翻译的不错哦!

3.Lsof-列出打开的文件

在许多Linux或者类Unix系统里都有lsof命令,它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。这条命令最常用的格式如下:

# lsofCOMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAMEinit          1      root  cwd       DIR      104,2     4096          2 /init          1      root  rtd       DIR      104,2     4096          2 /init          1      root  txt       REG      104,2    38652   17710339 /sbin/initinit          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.soinit          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.soinit          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.soinit          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1init          1      root   10u     FIFO       0,17                 953 /dev/initctl

有关lsof命令的用法和例子的更多信息,请参考Linux下10个使用lsof命令的例子

几点人
几点人
翻译于 5天前

0人顶

 翻译的不错哦!

4.Tcpdump-网络包分析器

Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。在几乎所有主要的Linux发布里,tcpdump都可以使用。

# tcpdump -i eth0tcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 964822:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 964822:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

要想获得更多有关tcpdump用法的信息,请参阅Linux下12个使用Tcpdump命令的例子。

几点人
几点人
翻译于 5天前

1人顶

 翻译的不错哦!

5.Netstat-网络状态统计

Netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题。

# netstat -a | moreActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address               Foreign Address             Statetcp        0      0 *:mysql                     *:*                         LISTENtcp        0      0 *:sunrpc                    *:*                         LISTENtcp        0      0 *:realm-rusd                *:*                         LISTENtcp        0      0 *:ftp                       *:*                         LISTENtcp        0      0 localhost.localdomain:ipp   *:*                         LISTENtcp        0      0 localhost.localdomain:smtp  *:*                         LISTENtcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAITtcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAITtcp        0      0 *:http                      *:*                         LISTENtcp        0      0 *:ssh                       *:*                         LISTENtcp        0      0 *:https                     *:*                         LISTEN

有关Netstat更多的例子,请参阅:Linux下20个使用Netstat命令的例子。

几点人
几点人
翻译于 5天前

1人顶

 翻译的不错哦!

6. Htop – Linux进程监控

Htop 是一个非常高级的交互式的实时linux进程监控工具。 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。 Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它。 关于安装的更多信息,请阅读下文.

# htop

Htop Command Example

Htop 命令示例截图

对于Htop的安装,请读 :在Linux安装Htop(Linux进程监控)

Lesus
Lesus
翻译于 6天前

1人顶

 翻译的不错哦!

7.Iotop-监控Linux磁盘I/O

Iotop命令同样也非常类似于top命令Htop程序,不过它具有监控并显示实时磁盘I/O和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。

# iotop

Iotop Command ExampleIotop命令举例的截图
有关如何安装和使用iotop的信息,请阅读在Linux下安装Iotop。

8.Iostat-输入/输出统计

Iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘

# iostatLinux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012avg-cpu:  %user   %nice %system %iowait  %steal   %idle           2.60    3.65    1.04    4.29    0.00   88.42Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtncciss/c0d0       17.79       545.80       256.52  855159769  401914750cciss/c0d0p1      0.00         0.00         0.00       5459       3518cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544cciss/c0d0p4      0.00         0.00         0.00          8          0cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

有关iostat用法和举例的更多信息,请访问:Linux下6个使用iostat命令的例子

几点人
几点人
翻译于 5天前

0人顶

 翻译的不错哦!

9.IPTraf-实时局域网IP监控

IPTraf是一个在Linux控制台运行的、开放源代码的实时网络(局域网)监控应用。它采集了大量信息,比如通过网络的IP流量监控,包括TCP标记、ICMP详细信息、TCP/UDP流量分离、TCP连接包和字节数。同时还采集有关接口状态的常见信息和详细信息:TCP、UDP、IP、ICMP、非IP,IP校验和错误,接口活动等。

IP Traffic Monitor

IP流量监控
有关IPTraf工具用法以及其他更多信息,请访问:IPTraf网络监控工具

几点人
几点人
翻译于 3天前

0人顶

 翻译的不错哦!

10. psacct 或者 acct - 监视用户活动

psacct或者acct工具用于监视系统里每个用户的活动状况。这两个服务进程运行在后台,它们对系统上运行的每个用户的所有活动进行近距离监视,同时还监视这些活动所使用的资源情况。

系统管理员可以使用这两个工具跟踪每个用户的活动,比如用户正在做什么,他们提交了那些命令,他们使用了多少资源,他们在系统上持续了多长时间等等。

有关这些命令的安装和用法举例信息,请参阅文章:使用psacct或者acct监视用户活动

几点人
几点人
翻译于 3天前

0人顶

 翻译的不错哦!

11.Monit - Linux进程和服务监控工具

Monit是一个免费的开源软件,也是一个基于网络的进程监控工具。它能自动监控和管理系统进程,程序,文件,文件夹,权限,总和验证码和文件系统。

这个软件能监控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH这样的服务。你可以通过命令行或者这个软件提供的网络借口来查看系统状态。

The Interface of Moint

Monit Linux系统监控

更多内容请参阅:用Monit监控Linux进程

Dinfer
Dinfer
翻译于 5天前

1人顶

 翻译的不错哦!

12.NetHogs-监视每个进程使用的网络带宽

NetHogs是一个开放源源代码的很小程序(与Linux下的top命令很相似),它密切监视着系统上每个进程的网络活动。同时还追踪着每个程序或者应用所使用的实时网络带宽。

NetHogs Linux Bandwidth Monitoring

NetHogs:Linux下的带宽监视
更多信息请参阅:使用NetHogs监视Linux的网络带宽使用状况。

几点人
几点人
翻译于 3天前

0人顶

 翻译的不错哦!

13.iftop-监视网络带宽

iftop是另一个在控制台运行的开放源代码系统监控应用,它显示了系统上通过网络接口的应用网络带宽使用(源主机或者目的主机)的列表,这个列表定期更新。iftop用于监视网络的使用情况,而'top'用于监视CPU的使用情况。iftop是'top'工具系列中的一员,它用于监视所选接口,并显示两个主机间当前网络带宽的使用情况。

iftop - Network Bandwidth Monitoring

iftop-监视网络带宽。

更多信息请参阅:iftop-监视网络带宽的使用情况

几点人
几点人
翻译于 3天前

0人顶

 翻译的不错哦!

14 Monitorix-系统和网络监控

Monitorix 是一个免费的轻量级应用工具,它的设计初衷是运行和监控Linux/Unix服务器系统和资源等。它有一个HTTP 网络服务器,这个服务器有规律的收集系统和网络的信息并以图形化的形式展示出来。它监控系统的平均负载和使用,内存分配、磁盘健康状况、系统服务、网络端口、邮件统计(Sendmail,Postfix,Dovecot等),MySQL统计,等等。它就是用来监控系统的总体性能,帮助发现失误、瓶颈和异常活动的。

LitStone
LitStone
翻译于 5天前

0人顶

 翻译的不错哦!

15. Arpwatch – 以太网活动监视器

Arpwatch被设计用来监控Linux上的以太网地址解析 (MACIP地址的变化)。他在一段时间内持续监控以太网活动并输出IP和MAC地址配对变动的日志。它还可以向管理员发送邮件通知,对地址配对的增改发出警告。这对于检测网络上的ARP攻击很有用。 

更多信息请参阅:Arpwatch to Monitor Ethernet Activity

16. Suricata – 网络安全监控

Suricata 是一个开源的高性能网络安全、入侵检测和反监测工具,可以运行Linux、FreeBSD和Windows上。非营利组织OISF(Open Information Security Foundation)开发并拥有其版权。

更多信息请参阅:Suricata – A Network Intrusion Detection and Prevention System

DrZ
DrZ
翻译于 2天前

0人顶

 翻译的不错哦!

其它翻译版本(1)

17. VnStat PHP – 网络流量监控

VnStat PHP 是流行网络工具"vnstat"的基于web的前端呈现。VnStat PHP 将网络使用情况呈现在漂亮的图形界面中。他可以显示以小时、日、月计的上传和下载流量并输出总结报告。

更多信息请参阅:VnStat PHP – Monitoring Network Bandwidth

18. Nagios – 网络/服务器监控

Nagios是领先而强大的开源监控系统,他可以让网络/系统管理员在问题影响到正常的业务之前发现并解决它们。有了Nagios系统,管理员可以在单个窗口内远程检测Linux、Windows、开关、路由器和打印机。它可以危险警告并指出系统/服务器是否有异常,这可以间接帮助你在问题发生之前采取抢救措施。

更多信息请参阅:Install Nagios Monitoring System to Monitor Remote Linux/Windows Hosts

分享到:
评论

相关推荐

    监控Linux性能的18个命令行工具

    对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。...Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。To

    最好用的Linux性能监测工具.pdf

    这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具。

    超实用的8个Linux命令行性能监测工具

    在IT业从事5年的Linux系统管理员后,我发现监控和保持系统正常运行真不是件容易的事,为此,我总结了8个非常实用的命令行工具给Linux/Unix系统管理员。这些命令支持所有的Linux系统,不仅可以用于监控系统,还可以...

    linux系统性能监控工具nmon

    压缩包里包含14个平台的执行代码以及命令行格式。

    linux上 arthas 的安装教程

    命令行工具:Arthas提供了丰富的命令行工具,可以通过命令行进行故障排查和性能优化,例如查看线程堆栈、跟踪方法调用、监控方法执行时间等。 3. 可视化界面:Arthas还提供了可视化界面,可以通过Web界面直观地...

    Java-JVM性能监控与故障处理工具详细介绍以及使用案例

    JDK的命令行工具大多数是对JDK/lib/tools.jar类库的一层薄包装而已,它们的主要功能代码是在tools类库中实现的。Linux下的这些工具有的甚至是用shell脚本编写的。 常见工具如下: 名称 主要作用 jps JVM Process...

    redis可视化工具 RedisInsight debian、Ubuntu安装包 在linux系统上可视化查看redis数据库

    redis可视化工具 RedisInsight是Redis Labs提供的一个用于管理和监控Redis数据库的图形用户界面(GUI)工具。它为用户提供了直观的界面,以便更轻松地执行各种Redis数据库操作,包括查看键值、执行命令、监控性能等...

    你需要知道的16个Linux服务器监控命令

    有些 Linux 发行版会提供 GUI 程序来进行系统的监控,例如 SUSE Linux 就有一个非常棒而且专业的工具 YaST,KDE 的 KDE System Guard 同样很出色。当然,要使用这些工具,你必须在服务器跟前进行操作,而且这些 GUI ...

    Prometheus从入门到精通-玩转Prometheus

    读者需具备基本的Linux操作和命令行工具使用能力。 使用场景及目标:通过学习该资源,读者将能够全面了解Prometheus监控系统的部署和配置方法,掌握如何定义自定义指标、设置报警规则以及构建仪表盘展示监控数据。...

    入门学习Linux常用必会60个命令实例详解doc/txt

    如果选择用命令行模式登录Linux的话,那么看到的第一个Linux命令就是login:。 一般界面是这样的: Manddrake Linux release 9.1(Bamboo) for i586 renrel 2.4.21-0.13mdk on i686 / tty1 localhost login:root ...

    oracle AWR性能监控报告生成方法

    目前相当一部分公司会用到oracle,在做性能测试的时候,对数据库的监控很重要,那么这里先介绍下如何生成oracle自带的awr监控报告,而具体报告的内容分析会放在后续的博客中。 oracle性能分析入门学习中,遇到oracle...

    Sysstat监控工具的动态库(so)实现

    传统的Sysstat监控工具是以命令行的方式执行的,输出的结果只能显示在标准输出;但通常我们的程序需要以api的方式监控系统的性能,所以传统的Sysstat是做不到的。该资源对sysstat-11.5.5的源码进行改造,以动态库的...

    redhat linux教材20课程学习文档

    第一部分 Linux简介和原理介绍 第一章 概述 1.1 Linux 的历史及背景 1.1.1 什么是 Linux? 1.1.2 Linux 该怎么念? 1.1.3 Linux 的历史 1.1.4 Linux的优点 1.2 Linux与开源软件 1.3 Linux 与 Windows 的比较 1.3.1 ...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    3.6.3命令行工具ADRCI 3.6.4 Clusterware日志文件 3.6.5 ASM实例和监听日志文件 3.6.6 Database日志文件 3.7本章小结 第4章 ASM存储软件 4.1 ASM简介 4.1.1 ASM的特点 4.1.2 ASM实例的功能 4.2 ASM磁盘组 ...

    Python中psutil的介绍与用法

    它实现了同等命令行工具提供的功能,如ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的Linux、Windows、OS X、...

    likwid:性能监控和基准测试套件

    介绍Likwid是命令行应用程序的易于安装和使用的工具套件,并且是面向性能程序员的库。 它适用于Linux操作系统上的Intel,AMD,ARMv8和POWER9处理器。 Nvidia GPU还有其他支持。 它支持ARMv7和POWER8,但是目前我们手...

    java开源包1

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包11

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

Global site tag (gtag.js) - Google Analytics