13个超实用的Linux性能监测命令行工具.docx
《13个超实用的Linux性能监测命令行工具.docx》由会员分享,可在线阅读,更多相关《13个超实用的Linux性能监测命令行工具.docx(8页珍藏版)》请在冰豆网上搜索。
13个超实用的Linux性能监测命令行工具
13个超实用的Linux性能监测命令行工具
【2013年4月11日51CTO外电头条】对每一个系统管理员或网络管理员来说,每天监测和调试Linux系统性能方面的问题其实是难度非常大的一项任务。
我在IT行业担任了5年的Linux管理员,逐渐明白了监测系统并确保系统正常运行有多么困难。
由于这个原因,我们整理出这份列表,介绍了12个常用的命令行监测工具,它们也许对每一个Linux/Unix系统管理员来说很有用。
这些命令在所有版本的Linux环境下都能找到,有助于监测和查找性能问题的实际根源。
下面介绍的这些命令非常全面,完全足以让你从中选出适合自身监测环境的一个工具。
专题推荐:
Linux监控工具的展览馆
1.Top:
监测Linux进程
LinuxTop命令是一个性能监测程序,它经常被许多系统管理员用来监测Linux性能,在许多类似Linux/Unix的操作系统环境下都能找到。
Top命令可用于显示所有运行中和活动的实时进程(按顺序排列),并且定期更新。
它可显示处理器使用情况、内存使用情况、交换内存、缓存大小、缓冲器大小、进程标识符(PID)、用户、命令及更多的信息。
它还显示了某个运行中进程大量使用内存和处理器的情况。
Top命令对系统管理员大有用处,可用来监测,需要时还可采取正确的行动。
不妨看看Top命令的实际使用情况。
#top
Top命令示例
2.VmStat:
显示虚拟内存方面的统计信息
LinuxVmStat命令用来显示虚拟内存、内核线程、磁盘、系统进程、输入/输出块、中断、处理器活动及更多方面的统计信息。
默认情况下,vmstat命令并不出现在Linux系统环境下,你需要安装一个名为sysstat的程序包,该程序包里面含有一个vmstat程序。
命令格式通常这样使用:
#vmstat
procs-----------memory----------swap-------io------system-------cpu----
rbswpdfreeinactactivesisobiboincsussyidwast
10081042097380706280011548979169030
3.Lsof:
列出打开的文件
Lsof命令用于许多类似Linux/Unix的系统中,用来显示所有打开的文件和进程。
打开的文件包括:
磁盘文件、网络套接字、管道、设备和进程。
使用这个命令的主要场合之一是,当磁盘无法卸载,显示文件被使用或被打开这个错误信息时。
有了这个命令,你很容易查明哪些文件在使用中。
这个命令最常见的格式如下:
#lsof
COMMANDPIDUSERFDTYPEDEVICESIZENODENAME
init1rootcwdDIR104,240962/
init1rootrtdDIR104,240962/
init1roottxtREG104,23865217710339/sbin/init
init1rootmemREG104,2129900196453/lib/ld-2.5.so
init1rootmemREG104,21693812196454/lib/libc-2.5.so
init1rootmemREG104,220668196479/lib/libdl-2.5.so
init1rootmemREG104,2245376196419/lib/libsepol.so.1
init1rootmemREG104,293508196431/lib/libselinux.so.1
init1root10uFIFO0,17953/dev/initctl
4.Tcpdump:
网络数据包分析器
Tcpdump是使用最广泛的命令行网络数据包分析器或数据包嗅探程序之一,用于捕捉或过滤在网络上通过某个接口接收或传输的TCP/IP数据包。
它还提供了这个选项:
把捕捉到的数据包保存到一个文件中,供以后分析。
Tcpdump几乎出现在所有主要的Linux发行版环境下。
#tcpdump-ieth0
tcpdump:
verboseoutputsuppressed,use-vor-vvforfullprotocoldecode
listeningoneth0,link-typeEN10MB(Ethernet),capturesize96bytes
22:
08:
59.617628IP.ssh>115.113.134.3.static-.in.28472:
P2532133365:
2532133481(116)ack3561562349win9648
22:
09:
07.653466IP.ssh>115.113.134.3.static-.in.28472:
P116:
232(116)ack1win9648
22:
08:
59.617916IP115.113.134.3.static-.in.28472>.ssh:
.ack116win64347
5.Netstat:
显示网络方面的统计信息
除了用于监测接口方面的统计信息外,Netstat这个命令行工具还用于监测进出的网络数据包方面的统计信息。
它对每个系统管理员来说是个很有用的工具,可用于监测网络性能,并排查网络相关问题。
#netstat-a|more
ActiveInternetconnections(serversandestablished)
ProtoRecv-QSend-QLocalAddressForeignAddressState
tcp00*:
mysql*:
*LISTEN
tcp00*:
sunrpc*:
*LISTEN
tcp00*:
realm-rusd*:
*LISTEN
tcp00*:
ftp*:
*LISTEN
tcp00localhost.localdomain:
ipp*:
*LISTEN
tcp00localhost.localdomain:
smtp*:
*LISTEN
tcp00localhost.localdomain:
smtplocalhost.localdomain:
42709TIME_WAIT
tcp00localhost.localdomain:
smtplocalhost.localdomain:
42710TIME_WAIT
tcp00*:
http*:
*LISTEN
tcp00*:
ssh*:
*LISTEN
tcp00*:
https*:
*LISTEN
6.Htop:
监测Linux进程
Htop是一款非常先进的交互式实时Linux进程监测工具。
它非常类似Linuxtop命令,但是有一些丰富的功能特性,比如易于使用的界面,可用于管理进程、快捷键、进程的垂直和水平视图以及其他对象。
Htop是一个第三方工具,并不包含在Linux系统中,你需要使用YUM程序包管理器工具来安装它。
想了解安装方面的更多信息,请参阅本文。
#htop
Htop命令示例的屏幕截图
7.Iotop:
监测Linux磁盘的输入/输出
Iotop也非常类似top命令和Htop程序,但是它有记账功能,可用于监测和显示实时磁盘输入/输出及进程。
这个工具非常有用,可用于查找具体的进程以及进程的频繁使用的磁盘读取/写入操作。
#iotop
Iotop命令示例的屏幕截图
8.Iostat:
显示输入/输出方面的统计信息
IoStat是款简单的工具,可以收集和显示系统输入/输出存储设备方面的统计信息。
这个工具经常用于追查存储设备性能方面的问题,包括设备、本地磁盘和NFS等远程磁盘。
#iostat
Linux2.6.18-238.9.1.el5()09/13/2012
avg-cpu:
%user%nice%system%iowait%steal%idle
2.603.651.044.290.0088.42
Device:
tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn
cciss/c0d017.79545.80256.52855159769401914750
cciss/c0d0p10.000.000.0054593518
cciss/c0d0p216.45533.97245.18836631746384153384
cciss/c0d0p30.635.583.9787376506215544
cciss/c0d0p40.000.000.0080
cciss/c0d0p50.633.795.0359367787882528
cciss/c0d0p60.082.462.3438477713659776
9.IPTraf:
实时监测IP局域网
IPTraf是一个基于控制台的开源实时网络(IPLAN)监测实用工具,面向Linux。
它可以收集通过网络传输的众多信息(比如IP流量监测器),包括TCP标记信息、ICMP详细信息、TCP/UDP流量故障、TCP连接数据包以及字节计数。
它还可以收集接口方面普通和详细的统计信息,比如TCP、UDP、IP、ICMP、非IP、IP校验和错误以及接口活动等。
IP流量监测器
10.psacct或acct:
监测用户活动
psacct或acct这两个工具大有用处,可用于监测系统上每个用户的活动。
这两个守护程序都在后台运行,监测系统上每个用户的总体活动,还监测它们在使用什么资源。
这些工具对系统管理员们来说大有用处,可用于跟踪每个用户的活动,比如用户在从事什么操作,他们发出了什么命令,他们使用了多少资源,以及他们在系统上处于活动状态已有多久,等等。
11.Monit:
监测Linux进程和服务
Monit是一款免费的开源、基于Web的进程监测实用工具,可以自动监测和管理系统进程、程序、文件、目录、许可权限、校验和以及文件系统。
它可以监测Apache、MySQL、Mail、FTP、ProFTP、Nginx和SSH等服务。
可以从命令行或使用其自己的Web界面来查看系统状态。
MonitLinux进程监测
12.NetHogs:
监测每个进程的网络带宽
NetHogs是一款优秀、小巧的开源程序(类似Linuxtop命令),可密切监测系统上每个进程的网络活动。
它还密切跟踪每个程序或应用软件所使用的实时网络流量带宽。
NetHogsLinux带宽监测
13.iftop:
监测网络带宽
iftop是另一款基于终端的免费开源系统监测实用工具,可显示一份经常更新的列表,该列表显示了通过系统上网络接口的网络带宽使用情况。
iftop通常用于监测网络使用情况,就像top通常用于监测处理器使用情况。
iftop是属于top家族的工具,可监测某个所选择的接口,并显示两个主机之间目前的带宽使用情况。
Iftop:
网络带宽监测
我们想知道各位使用哪种监测程序来监测Linux服务器的性能?
要是我们遗漏了任何你希望我们补充进来的重要工具,请留言告知我们,欢迎分享。