数码产品

20个linux命令行工具监视性能(上)

对于每一个系统管理员或网络管理员每天监视或调试linux系统的性能问题是一件非常困难的事,在it行业作为一个linux管理员五年之后,我开始知道监视和保持系统启动和运行有多么的困难。由于这个原因,我们编写了20条常用的命令行工具,希望对每一个linux系统管理员有用。这些命令是可利用的在所有类型的linux之下并且对监视和发现性能的实际原因是很有用的。这些列表的命令是足够的对于你选择适合你的任何一个监控场景。

1,top  ---linux process monitoring

   top 命令是一个性能监视程序,通常被许多系统管理员频繁使用监视linux性能并且能够使用在不同的类型的linux之下。top命令用于显示所有运行和活跃的实时进程并定期更新它。它显示了cpu使用率,内存使用率,交换内存,缓存大小,缓冲区大小,进程pid,用户,命令等等。它也展示了运行进程的高cpu利用率和内存利用率。top命令对系统管理员监视和在需要的时候采取正确的行动是非常的重要。下面让我们看看top命令。

#top

 

 了解top的更多带参数的命令在shell中输入“man top”。

2,VmStat -- Virtual Memory Statistic

   VmStat命令用来显示虚拟内存, 内核线程, 磁盘, 系统进程, 输入输出块, 中断, 活动的cpu 等等.默认的VmStat命令是不能直接被直接使用的,在linux系统下你必须安装一个名叫sysstat的包,这个包包含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

    了解VmStat的更多命令请在shell中输入“man vmstat”。

3, Lsof – List Open Files

    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

了解更多的Lsof命令请直接打开shell输入“man lsof”

4,Tcpdump -- Network Packet Analyzer

  Tcpdump 是一个被广泛使用的命令行工具,network packet analyzer(网络包分析)packets sniffer(包嗅探) 命令 被用来 capture(捕获) or filter(过滤) 接受或传输在连接网络上的接口上的  TCP/IP 包,它也提供一个选项来保存捕获的包在一个文件中之后进行分析。  tcpdump 也是有用的在分布的不同类型的linux中。tcpdump的使用如下。

# 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 -- Network Statistics

   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

  netstat 的更多使用方法见“man netstat”。

6,Htop – Linux Process Monitoring

   Htop 是一个更先进的交互和实时进程监控工具。这和linux的top命令更相似但是Htop有更丰富的界面就像用户友好的界面管理进程,快捷键,水平和垂直的视图浏览进程等等。Htop是一个三部分的工具默认情况下没有包含。你必须安装它使用YUM包管理工具。

 

# htop

Htop Command Example

 安装htop。

 7,Iotop -- Monitor Linux Disk I/O

   Iotop 也和top,htop命令相似, 但是它能监视和显示实时的磁盘I/O信息和进程信息。这个工具更有用对于查找而外的进程和高使用磁盘读写进程。

 

# iotop

Iotop Command Example

安装iotop。

8,Iostat – Input/Output Statistics

   IoStat 是一个简单的收集和显示输入输出存储设备的统计信息的工具。这个工具被用来追This to踪存储设备性能问题包括 devices(设备), local disks(本地磁盘), remote disks(远程磁盘) such as NFS(网络存储文件)

 

# iostat


Linux 2.6.18-238.9.1.el5          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 – Real Time IP LAN Monitoring

   IPTraf   是一个开源的基于console的实时网络监视工具,它收集了不同种类的信息例如通过网络的ip交通监视。包括tcp flag信息,icmp信息,tcp/udp交通故障,tcp连接包和字节统计。它还收集接口的统计TCP、UDP、IP、ICMP、非IP,IP校验和错误,界面活动的信息等。

IP Traffic Monitor

 

10,Psacct or Acct -- Monitor User Activity

    psacct or acct tools 是非常的有用对于监视每一个用户的活动, 这两个守护进程在后台运行并保持密切关注系统上的每个用户的整体活动有什么资源被消耗。

    这些工具是非常有用的对系统管理员追踪每个用户的活动例如用户正在做什么,他们发布了什么命令,他们在使用多少资源,他们使用系统多久了等等。

    How to Monitor User Activity with psacct or acct Tools

今天就翻译到这里,后面的10个下次在翻译。初次翻译博客希望大家多多指教。欢迎大家指点。

最后注明原文出处:20 Command Line Tools to Monitor Linux Performance

posted @ 2014-08-23 00:30  Hackerman  阅读(2566)  评论(0编辑  收藏  举报
数码产品