Linux下CPU监控工具有哪些?

2023-08-29

1. top,top是最常用的查看系统资源使用情况的工具,包括CPU、内存等等资源。 这里主要关注CPU资源。
1.1 /proc/loadavg,load average取自/proc/loadavg。
9.53 9.12 8.37 3/889 28165,前三个数字是1、5、15分钟内进程队列中平均进程数,包括正在运行的进程+准备好等待运行的进程。 第四个数字分子表示正在运行的进程数,分母是进程总数。 最后一个数字是最近运行的进程ID号。 其中top取的是/proc/loadavg的前三个数。
1.2 top使用,打开top,可以指定更新的周期。 输入H,打开隐藏的线程;输入1,可以显示单核CPU使用情况。 top -H -b -d 1 -n 200 > top.txt,每个1秒统计一次,共200次,显示线程细节,并保存到top.txt中。 其中CPU信息对应的含义如下>
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第1张
2. perf
这里重点关注CPU占用率。 通过sudo perf top -s comm,可以查看当前系统运行进程占比。 这里不像top一样区分idle、system、user,这里的占比是各个进程在总运行时间里面占比。 通过sudo perf record记录采样信息,然后通过sudo perf report -s comm。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第2张
3. sar和ksar
sar是System Activity Report的意思,可以用于实时观察当前系统活动,也可以生成历史记录的报告。 要使用sar需要安装sudo apt install sysstat,然后对sysstat进行配置。 sar用于记录统计信息,ksar用于将记录的信息图形化输出。 ksar下载地址在:https://github.com/vlsi/ksar/releases。
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第3张
还可以通过sar记录一段时间的信息,指定采样周期和采样次数。 这些命令前加上LC_ALL=C之后保存到文件中,都可以在ksar中图形化显示。
4. mpstat
mpstat是Multiprocessor Statistics。当没有参数时,mpstat显示系统系统以来所有信息平均值。 常见用法如下,-P ALL监控所有CPU,细节显示特定CPU;10表示每10秒监控一次;20表示监控20次
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第4张
usr表示用户空间进程,nice表示nice值大于0的用户空间进程。 sys是内核空间,iowait是I/O等待时间,irq是硬中断,soft是软中断,idle是空闲时间,guest和gnice都是虚拟机时间。
5. uptime
uptime是一个简单获取系统总共运行多长时间,以及最近1分钟、5分钟、15分钟的平均负载。 uptime通过/proc/uptime和/proc/loadavg获取相关信息。 up前是当前系统时间,up后是系统运行时长。 load average后是1分钟、5分钟、15分钟平均负载。
11:15:41 up 82 days, 20:34, 8 usersload average: 0.28, 0.40, 0.43
6. vmstat
vmstat主要用于监控系统内存使用情况的工具,但是也包含一些CPU相关信息。 使用方法vmstat 5 5表示运行5次,每次5秒。结果如下>
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第5张
更加详细的解释>
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第6张
7. pidstat,pidstat主要用于监控全部或指定进程占用系统资源的情况。
7.1 查看CPU使用情况,pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
7.2 查看内存使用情况
pidstat -p ALL -r结果如下>
7.3 查看磁盘使用情况
pidstat -p ALL -d结果如下>
kB_rd/s: 每秒进程从磁盘读取的数据量。
kB_wr/s: 每秒进程向磁盘写的数据量。
kB_ccwr/s:每秒进程被取消向磁盘写的数据量。
Command::拉起进程对应的命令。
8. time
time命令可以被用于统计指定程序的CPU耗时。 比如time cksum nomachine_6.0.80_1.exe得到如下结果。
9. cpustat
通过sudo apt install cpustat安装,cpustat -T -D -x结果如下。
10. htop
htop和top的功能类似,但是可读性比top更好。在界面按下F5,可以看到进程里面的线程,树形结构表示了父子关系。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第7张
11. atop,atop是一个监控系统资源和进程的工具。它通过CPU使用率来对列表中的进程进行降序排列,而每一个进程则包含了CPU、内存、磁盘和网络状态等信息。它的功能与top和htop类似。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第8张
12. glances
glances是一个由python编写的,与Nmon功能类似的报告工具,它能够报告统计cpu、内存、网络、磁盘和进程。除了报告统计,glances不支持任何其他特性或功能。当程序运行时点击“h”可以显示帮助页面。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第9张
13. nmon
Nmon是一个非常容易使用,能够在一个屏幕上监视CPU、内存、网络、磁盘使用状况和进程列表的工具。除了无法管理进程和修改报告显示,Nmon与那些只用于报告的报告工具完全一样。另外,它可以将数据保存到电子表格文件。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第10张
14. pcp-gui
Performance Co-Pilot,简称PCP,是一个系统性能和分析框架。它从多个主机整理数据并实时的分析,帮你识别不正常的表现模式。它也提供API让你设计自己的监控和报告解决方案。 安装pcp相关工具。
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第11张
15. collectl和colplot
15.1 collectl使用,collectl是一款非常优秀并且有着丰富的命令行功能的实用程序,你可以用它来采集描述当前系统状态的性能数据。 不同于大多数其它的系统监控工具,collectl 并非仅局限于有限的系统度量,相反,它可以收集许多不同类型系统资源的相关信息,如 cpu 、disk、memory 、network 、sockets 、 tcp 、inodes 、infiniband 、 lustre 、memory、nfs、processes、quadrics、slabs和buddyinfo等。 同时collectl还可以替代常用工具,比如top、vmstat、ps、iotop等。 安装collectl:
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第12张
collectl还可以显示更多的子系统信息,如果选项存在对应的大写选项,大写选项表示更细节的设备统计信息。
 

Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第13张
collectl --top可以代替top命令>
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第14张
collectl --vmstat可以代替vmstat命令>
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第15张
collectl -c1 -sZ -i:1可以代替ps命令。 collectl和一些处理分析数据工具结合能提供可视化图形。
15.2 colplot使用,colplot是collectl工具集的一部分,其将collectl收集的数据在浏览器中图形化展示。 colplot的介绍,相关源码可以再collectl-utils]下载:https://sourceforge.net/projects/collectl-utils/files/ 解压下载的colplot之后,sudo ./INSTALL安装colplot。 安装之后重启apache服务:
 
 
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第16张
最后Generate Plot查看结果。
Linux下CPU监控工具有哪些? (https://ic.work/) 安全设备 第17张

文章推荐

相关推荐