python性能监控工具linux性能监控

长期以来,我们在网上向读者介绍了如何为Linux和类Linux操作系统配置各种性能监视工具。 本文列出了最常用的性能监视工具,并为介绍的每个工具提供了相应的摘要链接。 它大致分为两类:基于命令行和提供图形界面。

一.基于命令行的性能监测工具

1.dstat -多类型资源统计工具

此命令集成了三个命令: vmstat、iostat和ifstat。 另外,通过添加新功能,可以及时查看各种资源的使用情况,并可以比较和整合各种资源的使用情况。 通过不同颜色和块布局的界面,可以更清晰、更容易地获取信息。 它还支持将信息数据导出为cvs格式的文件,以便在其他APP应用程序中打开或导入到数据库中。 使用此命令可以监视cpu、内存和网络状态随时间的变化。

ASCII码体验优于2.atop-top

使用此ASCII代码显示的命令行工具是显示所有流程活动的性能监视工具。 查看每日系统日志,进行长期流程活动分析,并突出显示过载的系统使用资源。 包含CPU、内存、交换空间、磁盘和网络层的测量标准。 这些功能都在终端上执行atop即可。

#自动

当然,也可以使用交互界面查看和排序数据。

3.Nmon -类Unix系统的性能监视

Nmon是Nigel’s Monitor的缩写,最初是作为用于AIX的系统监视工具开发的。 在线模式允许用户使用光标键在屏幕上实时操作终端上显示的监控信息。 使用捕获模式,可以将数据存储为CSV格式,并进行进一步处理和图形显示。

有关详细信息,请参阅nmon性能监视文章。

4.slabtop -显示内核slab缓存信息

此APP应用程序显示了缓存分配器如何管理Linux内核中缓存的各种类型的对象。 此命令类似于top命令,但重点是实时显示内核slab缓存信息。 可以按不同的排序条件对缓存列表进行排序和显示。 也可以显示楼板级别信息统计信息的标题。 以下是示例。

# slabtop –sort=a

# slabtop -s b

# slabtop -s c

# slabtop -s l

# slabtop -s v

# slabtop -s n

# slabtop -s o

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 .顶级-经典的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 “%12user.name %6proc.pid %12proc.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是虚拟内存virtual memory statistics)的缩写,作为一个内存监控工具,它收集和显示关于内存,进程,终端和分页和I/O阻塞的概括信息。作为一个开源程序,它可以在大部分Linux发行版本中找到,包括Solaris和FreeBSD。它用来诊断大部分的内存性能问题和其他相关问题。

12.free – 内存统计信息

free是另一个能够在终端中显示内存和交换空间使用的命令行工具。由于它的简易,它经常用于快速查看内存使用或者是应用于不同的脚本和应用程序中。在这里你可以看到这个小程序的许多应用。几乎所有的系统管理员日常都会用这个工具。:-)

13.Htop – 更加友好的top

Htop基本上是一个top改善版本,它能够以更加多彩的方式显示更多的统计信息,同时允许你采用不同的方式进行排序,它提供了一个用户友好的接口。

你可以在文章“关于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命令,意为“list open files”, 用于在许多类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的程序。它能够显示当前时刻按照带宽使用量或者上传或者下载量排序的网络连接状况。它同时提供了下载文件的预估完成时间。

17.iperf – 网络性能工具

iperf是一个网络测试工具,能够创建TCP和UDP数据连接并在网络上测量它们的传输性能。它支持调节关于时间,协议和缓冲等不同的参数。对于每一个测试,它会报告带宽,丢包和其他的一些参数。

如果你想用使用这个工具,可以参考这篇文章: 如何安装和使用iperf

18.Smem – 高级内存报表工具

Smem是最先进的Linux命令行工具之一,它提供关于系统中已经使用的和共享的实际内存大小,试图提供一个更为可靠的当前内存使用数据。

$ smem-m

$ smem-m-p|grep firefox

$ smem-u-p

$ smem-w-p

二、图形化或基于Web的性能工具

19.Icinga – Nagios的社区分支版本

Icinga是一个开源免费的网络监控程序,作为Nagios的分支,它继承了前者现有的大部分功能,同时基于这些功能又增加了社区用户要求已久的功能和补丁。

20.Nagios – 最为流行的监控工具

作为在Linux上使用最为广泛和最为流行的监控方案,它有一个守护程序用来收集不同进程和远程主机的信息,这些收集到的信息都通过功能强大的web界面进行呈现。

你可以在文章“如何安装nagios”里面找到更多的信息

21.Linux process explorer – Linux下的procexp

Linux process explorer是一个Linux下的图形化进程浏览工具。它能够显示不同的进程信息,如进程数,TCP/IP连接和每一个进程的性能指标。作为Windows下procexp在Linux的替代品,是由Sysinternals开发的,其目标是比top和ps提供更好用户体验。

22.Collectl – 性能监控工具

你可以既可以通过交互的方式使用这个性能监控工具,也可以用它把报表写到磁盘上,并通过web服务器来访问。它以一种易读易管理的格式,显示了CPU,磁盘,内存,网络,网络文件系统,进程,slabs等统计信息。

23.MRTG – 经典网络流量监控图形工具

这是一个采用rrdtool的生成图形的流量监控工具。作为最早的提供图形化界面的流量监控工具,它被广泛应用在类Unix的操作系统中。查看我们关于如何使用MRTG的文章获取更多关于安装和配置的信息。

24.Monit – 简单易用的监控工具

Monit是一个用来监控进程,系统加载,文件系统和目录文件等的开源的Linux工具。你能够让它自动化维护和修复,也能够在运行错误的情景下执行特定动作或者发邮件报告提醒系统管理员。如果你想要用这个工具,你可以查看如何使用Monit的文章。

25.Munin – 为服务器提供监控和提醒服务

作为一个网络资源监控工具,Munin能够帮助分析资源趋势和查看薄弱环节以及导致产生性能问题的原因。开发此软件的团队希望它能够易用和用户体验友好。该软件是用Perl开发的,并采用rrdtool来绘制图形,使用了web界面进行呈现。开发人员推广此应用时声称当前已有500多个监控插件可以“即插即用*”。

【编辑推荐】

【责任编辑:badxc授 TEL:010)68476606】

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注