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

译文
系统 Linux 新闻
对每一个系统管理员或网络管理员来说,每天监测和调试Linux系统性能方面的问题其实是难度非常大的一项任务。本文介绍了13个非常实用的Linux性能监测命令行工具。要是我们遗漏了任何你希望我们补充进来的重要工具,请留言告知我们,欢迎分享。

  【2013年4月11日 51CTO外电头条】对每一个系统管理员或网络管理员来说,每天监测和调试Linux系统性能方面的问题其实是难度非常大的一项任务。我在IT行业担任了5年的Linux管理员,逐渐明白了监测系统并确保系统正常运行有多么困难。由于这个原因,我们整理出这份列表,介绍了12个常用的命令行监测工具,它们也许对每一个Linux/Unix系统管理员来说很有用。这些命令在所有版本的Linux环境下都能找到,有助于监测和查找性能问题的实际根源。下面介绍的这些命令非常全面,完全足以让你从中选出适合自身监测环境的一个工具。

专题推荐:Linux监控工具的展览馆

1. Top:监测Linux进程

  Linux Top命令是一个性能监测程序,它经常被许多系统管理员用来监测Linux性能,在许多类似Linux/Unix的操作系统环境下都能找到。Top命令可用于显示所有运行中和活动的实时进程(按顺序排列),并且定期更新。它可显示处理器使用情况、内存使用情况、交换内存、缓存大小、缓冲器大小、进程标识符(PID)、用户、命令及更多的信息。它还显示了某个运行中进程大量使用内存和处理器的情况。Top命令对系统管理员大有用处,可用来监测,需要时还可采取正确的行动。不妨看看Top命令的实际使用情况。

  # top

Top命令示例

  2. VmStat:显示虚拟内存方面的统计信息

  Linux VmStat命令用来显示虚拟内存、内核线程、磁盘、系统进程、输入/输出块、中断、处理器活动及更多方面的统计信息。默认情况下,vmstat命令并不出现在Linux系统环境下,你需要安装一个名为sysstat的程序包,该程序包里面含有一个vmstat程序。命令格式通常这样使用:

  # vmstat

   procs -----------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

  3. Lsof:列出打开的文件

  Lsof命令用于许多类似Linux/Unix的系统中,用来显示所有打开的文件和进程。打开的文件包括:磁盘文件、网络套接字、管道、设备和进程。使用这个命令的主要场合之一是,当磁盘无法卸载,显示文件被使用或被打开这个错误信息时。有了这个命令,你很容易查明哪些文件在使用中。这个命令最常见的格式如下:

  # lsof

   COMMAND PID     USER FD       TYPE     DEVICE     SIZE     NODE   NAME

  init  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/init

  init  1  root  mem    REG   104,2   129900    196453  /lib/ld-2.5.so

  init  1  root  mem    REG   104,2   1693812    196454  /lib/libc-2.5.so

  init  1  root  mem    REG   104,2   20668    196479  /lib/libdl-2.5.so

  init  1  root  mem    REG   104,2   245376    196419  /lib/libsepol.so.1

  init  1  root  mem   REG   104,2   93508    196431  /lib/libselinux.so.1

  init  1  root   10u    FIFO   0,17     953   /dev/initctl

  #p#

4. Tcpdump:网络数据包分析器

  Tcpdump是使用最广泛的命令行网络数据包分析器或数据包嗅探程序之一,用于捕捉或过滤在网络上通过某个接口接收或传输的TCP/IP数据包。它还提供了这个选项:把捕捉到的数据包保存到一个文件中,供以后分析。Tcpdump几乎出现在所有主要的Linux发行版环境下。

  # tcpdump -i eth0

   tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

  listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

  22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648

  22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648

  22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

  5. Netstat:显示网络方面的统计信息

  除了用于监测接口方面的统计信息外,Netstat这个命令行工具还用于监测进出的网络数据包方面的统计信息。它对每个系统管理员来说是个很有用的工具,可用于监测网络性能,并排查网络相关问题。

  # netstat -a | more

   Active Internet connections (servers and established)

  Proto  Recv-Q Send-Q Local Address              Foreign Address             State

  tcp        0      0 *:mysql                   *:*                         LISTEN

  tcp        0      0 *:sunrpc                   *:*                         LISTEN

  tcp        0      0 *:realm-rusd                *:*                         LISTEN

  tcp        0      0 *:ftp                      *:*                         LISTEN

  tcp        0      0 localhost.localdomain:ipp     *:*                         LISTEN

  tcp        0      0 localhost.localdomain:smtp    *:*                         LISTEN

  tcp        0      0 localhost.localdomain:smtp    localhost.localdomain:42709    TIME_WAIT

  tcp        0      0 localhost.localdomain:smtp    localhost.localdomain:42710    TIME_WAIT

  tcp        0      0 *:http                     *:*                         LISTEN

  tcp        0      0 *:ssh                      *:*                         LISTEN

  tcp        0      0 *:https                     *:*                         LISTEN

  6. Htop:监测Linux进程

  Htop是一款非常先进的交互式实时Linux进程监测工具。它非常类似Linux top命令,但是有一些丰富的功能特性,比如易于使用的界面,可用于管理进程、快捷键、进程的垂直和水平视图以及其他对象。Htop是一个第三方工具,并不包含在Linux系统中,你需要使用YUM程序包管理器工具来安装它。想了解安装方面的更多信息,请参阅本文

  # htop

Htop命令示例的屏幕截图

#p#

7. Iotop:监测Linux磁盘的输入/输出

  Iotop也非常类似top命令和Htop程序,但是它有记账功能,可用于监测和显示实时磁盘输入/输出及进程。这个工具非常有用,可用于查找具体的进程以及进程的频繁使用的磁盘读取/写入操作。

  # iotop

Iotop命令示例的屏幕截图

8. Iostat:显示输入/输出方面的统计信息

  IoStat是款简单的工具,可以收集和显示系统输入/输出存储设备方面的统计信息。这个工具经常用于追查存储设备性能方面的问题,包括设备、本地磁盘和NFS等远程磁盘。

  # iostat

   Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012

  avg-cpu:  %user   %nice %system %iowait  %steal   %idle

  2.60    3.65    1.04    4.29    0.00   88.42

  Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn

  cciss/c0d0       17.79       545.80       256.52  855159769  401914750

  cciss/c0d0p1      0.00         0.00         0.00       5459       3518

  cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384

  cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544

  cciss/c0d0p4      0.00         0.00         0.00          8          0

  cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528

  cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

  9. IPTraf:实时监测IP局域网

  IPTraf是一个基于控制台的开源实时网络(IP LAN)监测实用工具,面向Linux。它可以收集通过网络传输的众多信息(比如IP流量监测器),包括TCP标记信息、ICMP详细信息、TCP/UDP流量故障、TCP连接数据包以及字节计数。它还可以收集接口方面普通和详细的统计信息,比如TCP、UDP、IP、ICMP、非IP、IP校验和错误以及接口活动等。

  IP流量监测器

#p#

  10. psacct或acct:监测用户活动

  psacct或acct这两个工具大有用处,可用于监测系统上每个用户的活动。这两个守护程序都在后台运行,监测系统上每个用户的总体活动,还监测它们在使用什么资源。

  这些工具对系统管理员们来说大有用处,可用于跟踪每个用户的活动,比如用户在从事什么操作,他们发出了什么命令,他们使用了多少资源,以及他们在系统上处于活动状态已有多久,等等。

  11. Monit:监测Linux进程和服务

  Monit是一款免费的开源、基于Web的进程监测实用工具,可以自动监测和管理系统进程、程序、文件、目录、许可权限、校验和以及文件系统。

  它可以监测Apache、MySQL、Mail、FTP、ProFTP、Nginx和SSH等服务。可以从命令行或使用其自己的Web界面来查看系统状态。

  Monit Linux进程监测

  12. NetHogs:监测每个进程的网络带宽

  NetHogs是一款优秀、小巧的开源程序(类似Linux top命令),可密切监测系统上每个进程的网络活动。它还密切跟踪每个程序或应用软件所使用的实时网络流量带宽。

  NetHogs Linux带宽监测

  13. iftop:监测网络带宽

  iftop是另一款基于终端的免费开源系统监测实用工具,可显示一份经常更新的列表,该列表显示了通过系统上网络接口的网络带宽使用情况。iftop通常用于监测网络使用情况,就像top通常用于监测处理器使用情况。iftop是属于top家族的工具,可监测某个所选择的接口,并显示两个主机之间目前的带宽使用情况。

  Iftop:网络带宽监测

  我们想知道各位使用哪种监测程序来监测Linux服务器的性能?要是我们遗漏了任何你希望我们补充进来的重要工具,请留言告知我们,欢迎分享。

  原文链接:http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/

 

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2010-08-24 09:10:14

Linux命令行工具

2014-08-25 16:23:24

2014-02-18 10:45:48

2014-04-09 11:05:11

2014-06-18 09:44:05

NmonNmon命令行Linux性能监测

2021-08-25 10:55:43

Linux命令工具

2022-01-14 07:28:20

Linux 命令行组合

2017-09-05 08:57:02

Linux命令行技巧

2017-07-10 14:00:04

Python命令行

2015-07-29 10:34:50

Linux系统命令行工具

2015-07-30 11:24:47

Linux 系统命令行工具

2015-07-30 11:04:08

Linux命令行工具

2020-03-30 12:57:50

Linux命令行Markdown

2015-12-21 14:07:58

2022-03-20 07:07:23

MySQL数据库命令行工具

2019-09-04 09:00:00

LinuxPngquantr工具

2018-03-14 14:27:00

2023-12-01 07:06:14

Go命令行性能

2010-04-26 15:26:13

Linux网络配置

2017-01-03 08:30:01

Linux命令行工具
点赞
收藏

51CTO技术栈公众号