《监控Linux性能的18个命令行工具》要点: 本文介绍了监控Linux性能的18个命令行工具,希望对您有用。如果有疑问,可以联系我们。
对于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作.在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监控和保持系统启动并运行是多么的不容易.基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作.这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因.这个命令行工具列表提供了足够的工具,您可以挑选适用于您的监控场景的工具.
1.Top-Linux进程监控
Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令.Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果.这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他.它还可以显示正在运行进程的内存和CPU占用多的情况.对系统管理员来说,top命令式是一个非常有用的,它可用于监控系统并在需要的时候采取正确的处理动作.让我们看看实际中的top命令.
# top
2.VmStat-虚拟内存统计
Linux 的 VmStat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息.缺省情况下,vmstat 命令在 Linux 系统下不可用,你需要安装一个包含了 vmstat 程序的 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
3.Lsof-列出打开的文件
在许多Linux或者类Unix系统里都有lsof命令,它常用于以列表的形式显示所有打开的文件和进程.打开的文件包括磁盘文件、网络套接字、管道、设备和进程.使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候.使用这条命令,你可以很容易地看到正在使用哪个文件.这条命令最常用的格式如下:
# 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包.它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析.在几乎所有主要的Linux发布里,tcpdump都可以使用.
# tcpdump -i eth0tcpdump: 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 | moreActive 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进程监控
(编辑:ASP站长网)
|