一段时间以来,我们一直在线向读者展示如何为Linux和类Linux操作系统配置各种不同的性能监控工具。在本文中,我们将列出一系列最常用的性能监控工具,并为每个介绍的工具提供相应的介绍链接,大致分为两类,基于命令行的和提供图形界面的。一、基于命令行的性能监控工具1.dstat——多类型资源统计工具该命令集成了三个命令:vmstat、iostat和ifstat。同时增加了新的特性和功能,让您实时看到各种资源的使用情况,让您比较和整合不同的资源使用情况。不同颜色和块布局的界面帮助您更清晰、更轻松地获取信息。还支持将信息数据导出为cvs格式文件,可以用其他应用程序打开或导入数据库。您可以使用此命令随时间监控cpu、内存和网络状态。2.atop-比top更好的ASCII码体验这个使用ASCII码显示的命令行工具是一个显示所有进程活动的性能监控工具。它可以显示每日系统日志以进行长期进程活动分析,并突出显示过载的系统使用资源。它包括CPU、内存、交换空间、磁盘和网络层的指标。所有这些功能都可以简单地通过在终端中运行atop来完成。#atop当然,您也可以使用交互界面来显示和排序数据。3.Nmon——类Unix系统的性能监控Nmon是Nigel'sMonitor的缩写,最初是作为AIX的系统监控工具开发的。如果您使用在线模式,您可以使用光标键在屏幕上实时操作终端显示的监控信息。使用捕获模式将数据保存为CSV格式,以便进一步处理和图形显示。有关详细信息,请参阅我们的nmon性能监控文章。4.slabtop-显示内核slab缓存信息这个应用程序可以显示缓存分配器如何管理缓存在Linux内核中的不同类型的对象。该命令与top命令类似,不同的是它的重点是实时显示内核slab缓存信息。它可以显示根据不同排序条件排序的缓存列表。它还可以显示slab层信息统计表头。例如:#slabtop--sort=a#slabtop-sb#slabtop-sc#slabtop-sl#slabtop-sv#slabtop-sn#slabtop-so有关更多信息,请参阅内核slab缓存文章。5.sar——性能监控和瓶颈检查sar命令可以将操作系统上选定的累积活动计数器内容信息输出到标准输出。其审计系统根据计数值和时间间隔参数,按照指定的时间间隔输出指定次数的监控信息。如果时间间隔参数设置为0,那么sar命令会显示系统从开机到当前时刻的平均统计信息。有用的命令如下:#sar-u23#sar-u-f/var/log/sa/sa05#sar-PALL11#sar-r13#sar-W136.Saidar-简单统计监控工具Saidar是一款简单轻量级的系统信息监控工具。虽然它不提供大多数性能报告,但它确实以直接的方式显示了最有用的系统健康数据。您可以轻松查看正常运行时间、平均负载、CPU、内存、进程、磁盘和网络接口统计信息。用法:saidar[-ddelay][-c][-v][-h]-d设置更新时间(秒)-c颜色显示-v显示版本号-h显示此帮助7.top-经典Linux任务管理工具一个著名的Linux实用程序,top是大多数类Unix操作系统的任务管理器。它可以显示当前正在运行的进程列表,用户可以根据不同的条件对列表进行排序。主要显示系统进程的CPU和内存使用情况。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,w8。Sysdig-系统进程的高级视图Sysdig是一种监控工具,可以让系统管理员和开发人员全面了解他们的系统行为。它的开发团队希望通过为存储、进程、网络和内存子系统提供统一、有序和细粒度的可见性来改进系统级监控以进行错误排除,并且可以创建系统活动日志文件以便您可以随时查看它们。轻松分析。简单的例子:#sysdigproc.name=vim#sysdig-p"%proc.name%fd.name""evt.type=acceptandproc.name!=httpd"#sysdigevt.type=chdiranduser.name=root#sysdig-l#sysdig-L#sysdig-ctopprocs_net#sysdig-cfdcount_byfd.sport"evt.type=accept"#sysdig-p"%proc.name%fd.name""evt.type=acceptandproc.name!=httpd"#sysdig-ctopprocs_file#sysdig-cfdcount_byproc.name"fd.type=file"#sysdig-p"%12user.name%6proc.pid%12proc.name%3fd.num%fd.typechar%fd.name"evt.type=open#sysdig-ctopprocs_cpu#sysdig-ctopprocs_cpuevt.cpu=0#sysdig-p"%evt.arg.path""evt.type=chdiranduser.name=root"#sysdigevt.type=openandfd.namecontains/etc可以在如何使用sysdig改进系统级监控和故障排除中找到更多信息。#p#9.netstat-ShowOpenPortsandConnections它是Linux管理员用来显示各种网络信息的工具,例如查看哪些端口是开放的,哪些网络连接已经建立,哪些进程正在连接上运行。它还显示有关在不同程序之间打开的Unix套接字的信息。作为大多数Linux发行版的一部分,许多netstat命令在netstat及其各种输出中都有详细描述。最常用的如下:$netstat|head-20$netstat-r$netstat-rC$netstat-i$netstat-ie$netstat-s$netstat-g$netstat-tapn10.tcpdump-洞察网络数据包tcpdump可以用来查看网络的数据包内容联系。它在传输过程中显示有关数据包内容的各种信息。为了使输出的信息更有用,它允许用户通过不同的过滤器获得他们想要的信息。可以参考的例子如下:#tcpdump-ieth0notport22#tcpdump-c10-ieth0#tcpdump-nieth0-c10notport22#tcpdump-waloft.cap-s0#tcpdump-raloft.cap#tcpdump-ieth0dstport80您可以在“Topdump和抓包”一文中找到详细说明。11.vmstat——虚拟内存统计vmstat是虚拟内存统计的缩写,作为一个内存监控工具,它收集并显示有关内存、进程、终端和分页以及I/O阻塞的一般信息。作为一个开源程序,它可以在大多数Linux发行版中找到,包括Solaris和FreeBSD。它用于诊断大多数内存性能问题和其他相关问题。有关详细信息,请参阅vmstat命令文章。12.free——内存统计free是另一个可以在终端显示内存和交换空间使用情况的命令行工具。由于其简单性,常用于快速查看内存使用情况或应用于不同的脚本和应用程序。在这里你可以看到这个小程序的很多应用。几乎所有的系统管理员每天都使用这个工具。:-)13.Htop-更友好topHtop基本上是top的改进版本,它可以以更丰富多彩的方式显示更多的统计信息,同时允许您以不同的方式进行排序,它提供了一个用户友好的界面.您可以在文章“htop和top的比较”中找到更多信息。14.ss-网络管理ss的现代替代品是iproute2包的一部分。iproute2是一组用于配置网络接口、路由表和管理ARP表的标准Unix网络工具的替代品。ss工具用于记录套接字统计信息。它可以显示类似netstat的信息,也可以显示更多的TCP和状态信息。一些例子如下:#ss-tnap#ss-tnap6#ss-tnap#ss-s#ss-tn-ostateestablished-p15.lsof-listopenfileslsof命令,意思是“列出打开的文件”,用于显示所有打开的文件以及在许多类Unix系统上打开它们的进程。大多数Linux发行版和其他类Linux操作系统中的系统管理员都使用它来检查不同进程打开了哪些文件。#lsof+pprocess_id#lsof|less#lsof–uusername#lsof/etc/passwd#lsof–iTCP:ftp#lsof–iTCP:80你可以在lsof文章16中找到更多示例。iftop-类似于top网络连接工具iftop是另一个top-比如基于网络信息的节目。它可以显示当前时刻按带宽使用或上传或下载排序的网络连接状态。它还提供下载文件的估计完成时间。可以在网络流量iftop文章中找到更多信息。#p#17.iperf-网络性能工具iperf是一种网络测试工具,可以创建TCP和UDP数据连接并测量它们在网络上的传输性能。它支持调整有关时间、协议和缓冲的不同参数。对于每个测试,它都会报告带宽、数据包丢失和一些其他参数。如果你想使用这个工具,可以参考这篇文章:如何安装和使用iperf18.Smem-高级内存报告工具Smem是最先进的Linux命令行工具之一,它提供了使用和共享的信息的实际内存大小,试图提供更可靠的当前内存使用数据。$smem-m$smem-m-p|grepfirefox$smem-u-p$smem-w-p参考我们的文章:Smem的更多例子2.图形化或基于Web的性能工具19.Icinga-NagiosIcinga的社区分支版本是一个开源免费网络监控程序。作为Nagios的一个分支,它继承了前者现有的大部分功能,同时在这些功能的基础上增加了社区用户长期要求的功能和补丁。有关详细信息,请参阅安装和配置lcinga一文。20.Nagios——最流行的监控工具作为Linux上使用最广泛、最流行的监控解决方案,它有一个守护进程用来收集不同进程和远程主机的信息,收集到的信息通过强大的web界面呈现.您可以在“如何安装nagios”一文中找到更多信息21.Linux进程浏览器——Linux下的procexpLinux进程浏览器是Linux下的图形化进程浏览工具。它可以显示不同的进程信息,如进程数、TCP/IP连接数、每个进程的性能指标等。作为Linux下Windows下procexp的替代品,由Sysinternals开发,其目标是提供比top和ps更好的用户体验。有关详细信息,请参阅linux进程资源管理器文章。22.Collectl——性能监控工具你可以交互地使用这个性能监控工具,或者你可以用它把报告写入磁盘并通过网络服务器访问它们。它以易于阅读和管理的格式显示CPU、磁盘、内存、网络、网络文件系统、进程、slab和其他统计信息。更多关于Collectl的文章。23.MRTG——经典的网络流量监控图形工具这是一款使用rrdtool生成图形的流量监控工具。作为最早提供图形界面的流量监控工具,广泛应用于类Unix操作系统中。查看我们关于如何使用MRTG的文章,了解有关安装和配置的更多信息。24.Monit——一个易于使用的监控工具Monit是一个开源的Linux工具,用于监控进程、系统加载、文件系统和目录文件。您可以让它自动维护和修复,以及执行特定操作或在出现运行时错误时发送电子邮件报告以提醒系统管理员。如果你想使用这个工具,你可以查看关于如何使用Monit的文章。25.Munin-为服务器提供监控和提醒服务作为网络资源监控工具,Munin可以帮助分析资源趋势,查看薄弱环节和性能问题原因。开发此软件的团队希望它易于使用且用户友好。该软件使用Perl开发,使用rrdtool绘制图形,并使用web界面进行展示。开发人员通过声称目前有超过500个监控插件是“即插即用*”来推广该应用程序。可以在有关Munin的文章中找到更多信息。via:http://linoxide.com/monitoring-2/linux-performance-monitoring-tools/作者:AdrianDinu译者:andyxue校对:wxy