13款常用Linux系统性能监测命令行工具(上)

日期: 2013-04-11 来源:TechTarget中国

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

  1. Top:监测Linux进程

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

  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命令示例的屏幕截图

Htop命令示例的屏幕截图

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐