一段时间以来,我们在网上向读者介绍了怎样为Linux以及类Linux操作系统配置多种不同的性能监控工具。在这篇文章中我们将列举一系列使用最频繁的性能监控工具,并对介绍到的每一个工具提供了相应的简介链接,大致将其界定为两类,基于命令行的和提供图形化插口的。
基于命令行的性能监控工具1.dstat-多类型资源统计工具
该命令整合了vmstat,iostat和ifstat三种命令。同时降低了新的特点和功能可以让你能及时见到各类的资源使用情况,因而才能使你对比和整合不同的资源使用情况。通过不同颜色和区块布局的界面帮助你还能愈发清晰容易的获取信息。它也支持将信息数据导入到cvs格式文件中,进而用其他应用程序打开,或则导出到数据库中。你可以用该命令来监控cpu,显存和网路状态随着时间的变化。
2.atop-相比top更好的ASCII码体验
这个使用ASCII码显示方法的命令行工具是一个显示所有进程活动的性能监控工具。它可以展示每日的系统日志以进行常年的进程活动剖析,并高亮显示过载的系统使用资源。它包含了CPU,显存,交换空间,c盘和网路层的测度指标。所有那些功能只需在终端运行atop即可。
# atop
其实你也可以使用交互界面来显示数据并进行排序。
3.Nmon-类Unix系统的性能监控
Nmon是Nigel'sMonitor简写,它最早开发拿来作为AIX的系统监控工具。假如使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。使用捕捉模式才能将数据保存为CSV格式,便捷进一步的处理和图形化展示。
更多的信息参考我们的nmon性能监控文章。
4.slabtop-显示内核slab缓存信息
这个应用能否显示缓存分配器是怎样管理Linux内核中缓存的不同类型的对象。这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。它还能显示根据不同排序条件来排序显示缓存列表。它同时也就能显示一个slab层信息的统计信息的题头。举例如下:
# slabtop --sort=a # slabtop -s b # slabtop -s c # slabtop -s l # slabtop -s v # slabtop -s n # slabtop -s o
更多信息参阅内核slab缓存文章。
5.sar-性能监控和困局检测
sar命令可以将操作系统上所选的累积活动计数器内容信息输出到标准输出上。其基于计数值和时间间隔参数的审计系统,会根据指定的时间间隔输出指定次数的监控信息。假如时间间隔参数为设置为0,这么sar命令将会显示系统从开机到当时时刻的平均统计信息。有用的命令如下:
# sar -u 2 3 # sar -u -f /var/log/sa/sa05 # sar -P ALL 1 1 # sar -r 1 3 # sar -W 1 3
6.Saidar-简单的统计监控工具
Saidar是一个简单且轻量的系统信息监控工具。其实它未能提供大多性能报表,并且它还能通过一个简单明了的形式显示最有用的系统运行状况数据。你可以很容易地看见运行时间、平均负载、CPU、内存、进程、磁盘和网路插口统计信息。
Usage: saidar [-d delay] [-c] [-v] [-h] -d 设置更新时间(秒) -c 彩色显示 -v 显示版本号 -h 显示本帮助
7.top-精典的Linux任务管理工具
作为一个广为人知的Linux工具,top是大多数的类Unix操作系统任务管理器。它可以显示当前正在运行的进程的列表,用户可以根据不同的条件对该列表进行排序。它主要显示了系统进程对CPU和显存的使用状况。top可以快速检测是那个或哪几个进程挂起了你的系统。你可以在这儿听到top使用的反例。你可以在终端输入top来运行它并步入到交互模式:
交互模式的一些快捷操作: 全局命令: ?, =, A, B, d, G, h, I, k, q, r, s, W, Z 统计区的命令: l, m, t, 1 任务区的命令: 外观: b, x, y, z 内容: c, f, H, o, S, u 大小: #, i, n 排序: , F, O, R 色彩方案: , a, B, b, H, M, q, S, T, w, z, 0 - 7 窗口命令: -, _, =, +, A, a, G, g, w
8.Sysdig-系统进程的中级视图
Sysdig是一个才能让系统管理员和开发人员曾经所未有形式洞察其系统行为的监控工具。其开发团队希望改善系统级的监控方法,通过提供关于储存,进程,网路和显存子系统的统一有序以及细度可见的形式来进行错误排查,并可以创建系统活动记录文件便于你可以在任何时间轻松剖析。
简单反例:
# sysdig proc.name=vim # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd" # sysdig evt.type=chdir and user.name=root # sysdig -l # sysdig -L # sysdig -c topprocs_net # sysdig -c fdcount_by fd.sport "evt.type=accept" # sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd" # sysdig -c topprocs_file # sysdig -c fdcount_by proc.name "fd.type=file" # sysdig -p "user.name %6proc.pid proc.name %3fd.num %fd.typechar %fd.name" evt.type=open # sysdig -c topprocs_cpu # sysdig -c topprocs_cpu evt.cpu=0 # sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root" # sysdig evt.type=open and fd.name contains /etc
9.netstat-显示开放的端口和联接
它是Linux管理员使用来显示各类网路信息的工具,如查看哪些端口开放和哪些网路联接早已构建以及何种进程运行在该联接之上。同时它也显示了不同程序间打开的Unix套接字的信息。作为大多数Linux发行版本的一部份,netstat的许多命令在netstat和它的不同输出中有详尽的描述。最为常用的如下:
$ netstat | head -20 $ netstat -r $ netstat -rC $ netstat -i $ netstat -ie $ netstat -s $ netstat -g $ netstat -tapn
10.tcpdump-洞察网路封包
tcpdump可以拿来查看网路联接的封包内容。它显示了传输过程中封包内容的各类信息。为了促使输出信息更为有用,它容许使用者通过不同的过滤器获取自己想要的信息。可以参照的反例如下:
# tcpdump -i eth0 not port 22 # tcpdump -c 10 -i eth0 # tcpdump -ni eth0 -c 10 not port 22 # tcpdump -w aloft.cap -s 0 # tcpdump -r aloft.cap # tcpdump -i eth0 dst port 80
你可以文章“在topdump和捕捉包”中找到详尽描述。
11.vmstat-虚拟显存统计信息
vmstat是虚拟显存(virtualmemorystatistics)的简写,作为一个显存监控工具,它搜集和显示关于显存,进程,终端和分页和I/O阻塞的概括信息。作为一个开源程序,它可以在大部份Linux发行版本中找到,包括Solaris和FreeBSD。它拿来确诊大部份的显存性能问题和其他相关问题。
M更多信息参考vmstat命令文章。
12.free-显存统计信息
free是另一个才能在终端中显示显存和交换空间使用的命令行工具。因为它的简易,它常常用于快速查看显存使用或则是应用于不同的脚本和应用程序中。在这儿你可以看见这个小程序的许多应用。几乎所有的系统管理员日常就会用这个工具。:-)
13.Htop-愈发友好的top
Htop基本上是一个top改善版本,它还能以更加多彩的形式显示更多的统计信息linux命令手册,同时容许你采用不同的方法进行排序,它提供了一个用户友好的插口。
你可以在文章“关于htop和top的比较”中找到更多的信息。
14.ss-网路管理的现代代替品
ss是iproute2包的一部份。iproute2是拿来取代一整套标准的Unix网路工具组件,它当初拿来完成网路插口配置,路由表和管理ARP表任务。ss工具拿来记录套接字统计信息,它可以显示类似netstat一样的信息,同时也能显示更多TCP和状态信息。一些事例如下:
# ss -tnap # ss -tnap6 # ss -tnap # ss -s # ss -tn -o state established -p
15.lsof-列表显示打开的文件
lsof命令,意为“listopenfiles”,用于在许多类Unix系统中显示所有打开的文件及打开它们的进程。在大部份Linux发行版和其他类Linux操作系统中系统管理员用它来检测不同的进程打开了什么文件。
# lsof +p process_id # lsof | less # lsof –u username # lsof /etc/passwd # lsof –i TCP:ftp # lsof –i TCP:80
你可以找到更多事例在lsof文章
16.iftop-类似top的了网路联接工具
iftop是另一个基于网路信息的类似top的程序。它才能显示当前时刻根据带宽使用量或则上传或则下载量排序的网路联接状况。它同时提供了下载文件的预估完成时间。
更多信息可以参考网路流量iftop文章。
17.iperf-网路性能工具
iperf是一个网路测试工具,才能创建TCP和UDP数据联接并在网路上检测它们的传输性能。它支持调节关于时间,合同和缓冲等不同的参数。对于每一个测试,它会报告带宽,丢包和其他的一些参数。
假如你想用使用这个工具,可以参考这篇文章:怎么安装和使用iperf
18.Smem-中级显存报表工具
Smem是最先进的Linux命令行工具之一,它提供关于系统中早已使用的和共享的实际显存大小,企图提供一个更为可靠的当前显存使用数据。
$ smem -m $ smem -m -p | grep firefox $ smem -u -p $ smem -w -p
参考我们的文章:Smem更多的事例
图形化或基于Web的性能工具19.Icinga-Nagios的社分辨支版本
Icinga是一个开源免费的网路监控程序,作为Nagios的分支,它承继了后者现有的大部份功能,同时基于这种功能又降低了社区用户要求已久的功能和补丁。
更多信息请参考安装和配置lcinga文章。
20.Nagios-最为流行的监控工具
作为在Linux上使用最为广泛和最为流行的监控方案,它有一个守护程序拿来搜集不同进程和远程主机的信息,这种搜集到的信息都通过功能强悍的web界面进行呈现。
你可以在文章“如何安装nagios”里面找到更多的信息
21.Linuxprocessexplorer-Linux下的procexp
Linuxprocessexplorer是一个Linux下的图形化进程浏览工具。它才能显示不同的进程信息,如进程数linux测试工具,TCP/IP联接和每一个进程的性能指标。作为Windows下procexp在Linux的代替品,是由Sysinternals开发的,其目标是比top和ps提供更好用户体验。
查看linuxprocessexplorer文章获取更多信息。
22.Collectl-性能监控工具
你可以既可以通过交互的方法使用这个性能监控工具,也可以用它把报表讲到c盘上linux测试工具,并通过web服务器来访问。它以一种易读易管理的格式,显示了CPU,c盘,显存,网路,网路文件系统红旗 linux,进程,slabs等统计信息。
更多关于Collectl的文章。
23.MRTG-精典网路流量监控图形工具
这是一个采用rrdtool的生成图形的流量监控工具。作为最早的提供图形化界面的流量监控工具,它被广泛应用在类Unix的操作系统中。查看我们关于怎么使用MRTG的文章获取更多关于安装和配置的信息。
24.Monit-简单易用的监控工具
Monit是一个拿来监控进程,系统加载,文件系统和目录文件等的开源的Linux工具。你还能让它手动化维护和修补,也才能在运行错误的情境下执行特定动作或则发短信报告提醒系统管理员。假如你想要用这个工具,你可以查看怎样使用Monit的文章。
25.Munin-为服务器提供监控和提醒服务
作为一个网路资源监控工具,Munin才能帮助剖析资源趋势和查看薄弱环节以及造成形成性能问题的诱因。开发此软件的团队希望它还能易用和用户体验友好。该软件是用Perl开发的,并采用rrdtool来勾画图形,使用了web界面进行呈现。开发人员推广此应用时宣称当前已有500多个监控插件可以“即插即用*”。
更多信息可以在关于Munin的文章。
via:
作者:AdrianDinu译者:andyxue校对:wxy
本文由LCTT原创翻译,Linux中国荣誉推出