返回顶部
首页 > 资讯 > 操作系统 >Linux中有哪些CPU监控工具
  • 947
分享到

Linux中有哪些CPU监控工具

2023-06-16 00:06:26 947人浏览 薄情痞子
摘要

这篇文章给大家介绍linux中有哪些CPU监控工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. toptop是最常用的查看系统资源使用情况的工具,包括CPU、内存等等资源。这里主要关注CPU资源。1.1 /pro

这篇文章给大家介绍linux中有哪些CPU监控工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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信息对应的含义如下:

us:user,统计nice小于等于0的用户空间进程,也即优先级为100~120。  ni:nice,统计nice大于0的用户空间进程,也即优先级为121~139。  sys:system,统计内核态运行时间,不包括中断。  id:idle,几系统处于空闲态。  wa:iowait,统计io等待时间。  hi:hardware interrupt,统计硬件中断时间。  si:software interrupt,统计软中断时间。  st:steal

Linux中有哪些CPU监控工具

2. perf

这里重点关注CPU占用率。

通过sudo perf top -s comm,可以查看当前系统运行进程占比。

这里不像top一样区分idle、system、user,这里的占比是各个进程在总运行时间里面占比。

通过sudo perf record记录采样信息,然后通过sudo perf report -s comm。

Linux中有哪些CPU监控工具

3. sar和ksar

sar是System Activity Report的意思,可以用于实时观察当前系统活动,也可以生成历史记录的报告。

要使用sar需要安装sudo apt install sysstat,然后对sysstat进行配置。

sar用于记录统计信息,ksar用于将记录的信息图形化输出。

ksar下载地址在:https://GitHub.com/vlsi/ksar/releases。

# 将 ENABLED=“false“ 改为ENABLED=“true“  $ sudo gedit /etc/  default  /sysstat  # 修改sar的周期等配置  $ sudo gedit /etc/cron.d/sysstat # 重启sar服务  $ sudo /etc/init.d/sysstat restart  # sar log存放目录  $ ls -l /  var  /log/sysstat/

使用sar记录开机到目前的统计信息到文件sar.txt。

LC_ALL=C sar -A > sar.txt

PS:这里直接使用sar -A,在ksar中无法正常显示。

如下执行java -jar ksar.jar,然后Data->Load from text file...选择保存的sar.txt文件。

得到如下的图表。

Linux中有哪些CPU监控工具

还可以通过sar记录一段时间的信息,指定采样周期和采样次数。

这些命令前加上LC_ALL=C之后保存到文件中,都可以在ksar中图形化显示。

sar 1 100-----------------所有cpu合一的统计信息  sar -P ALL 1 100--------包括cpu合一以及单个cpu的统计信息  sar -B 1 100---------------paging统计信息  sar -b 1 100---------------块设备IO统计信息  sar -d 1 100---------------块设备活动统计信息  sar -F 1 100----------------挂载的文件系统统计信息  sar -r ALL------------------ 显示详细的内存使用统计信息  sar -S ------------------------显示swap空间使用情况统计信息  sar -w----------------------- 显示进程创建以及进程切换统计信息  sar -W-----------------------显示swap换入换出统计信息。

4. mpstat

mpstat是Multiprocessor Statistics。当没有参数时,mpstat显示系统系统以来所有信息平均值。

常见用法如下,-P ALL监控所有CPU,细节显示特定CPU;10表示每10秒监控一次;20表示监控20次

$ mpstat -P ALL 10 20

结果如下:

Linux中有哪些CPU监控工具

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 users, load average: 0.28, 0.40, 0.43

6. vmstat

vmstat主要用于监控系统内存使用情况的工具,但是也包含一些CPU相关信息。

使用方法vmstat 5 5表示运行5次,每次5秒。结果如下:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----   r b   swpd free buff cache si so    bi bo   in cs us sy id wa st  1  0 472576 228688 559092 1061756    0    0     9    39    1    0  8  4 87  0  0  1  0 472576 228184 559100 1061756    0    0     0    13 1532 3395 10  6 84  0  0  1  0 472576 229308 559100 1061616    0    0     0     0 1446 3449 10  5 85  0  0  0  0 472576 229592 559108 1061616    0    0     0     6 1419 3474 10  5 85  0  0  1  0 472576 229804 559108 1061616    0    0     0     0 1446 3439 10  5 85  0  0

上面的参数可以分为6大部分:进程、内存、swap、io、中断和进程切换、cpu。

Linux中有哪些CPU监控工具

更加详细的解释:

Linux中有哪些CPU监控工具

7. pidstat

pidstat主要用于监控全部或指定进程占用系统资源的情况。

7.1 查看CPU使用情况

pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

# 显示所有的进程统计信息,包括idle进程。  pidstat -p ALL  # 更加详细的显示了线程统计信息。  pidstat -p ALL -t  # 周期采样和采样次数  pidstat [option] interval [count]

除此之外还可以通过-p获取指定进程的统计信息。

pidstat还可以通过-r获取内存使用统计信息,通过-d获取IO使用统计信息。

7.2 查看内存使用情况

pidstat -p ALL -r结果如下:

15时18分21秒 UID    PID  minflt/s  majflt/s  VSZ   RSS   %MEM  Command  15时18分21秒 0     1    0.02    0.00  185316   3028  0.08  systemd  15时18分21秒 0     2    0.00    0.00    0    0   0.00  kthreadd  15时18分21秒 0     4    0.00    0.00    0    0   0.00  kworker/0:0H  15时18分21秒 0     6    0.00    0.00    0    0   0.00  mm_percpu_wq  15时18分21秒 0      7    0.00    0.00    0    0   0.00  ksoftirqd/0  15时18分21秒 0     8    0.00    0.00    0    0   0.00  rcu_sched

minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数。

majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生。

VSZ: 该进程使用的虚拟内存(以kB为单位)。

RSS: 该进程使用的物理内存(以kB为单位)。

%MEM: 该进程使用内存的百分比。

Command: 拉起进程对应的命令。

7.3 查看磁盘使用情况

pidstat -p ALL -d结果如下:

15时20分40秒 UID       PID   kB_rd/s   kB_wr/s kB_ccwr/s iodelay  Command  15时20分40秒 0         1     -1.00     -1.00     -1.00 243523129  systemd  15时20分40秒 0         2     -1.00     -1.00     -1.00       0  kthreadd  15时20分40秒 0         4     -1.00     -1.00     -1.00       0  kworker/0:0H  15时20分40秒 0         6     -1.00     -1.00     -1.00       0  mm_percpu_wq  15时20分40秒 0         7     -1.00     -1.00     -1.00 714512328679  ksoftirqd/0  15时20分40秒 0         8     -1.00     -1.00     -1.00 417757303594  rcu_sched
  •  kB_rd/s: 每秒进程从磁盘读取的数据量(以kB为单位)。

  •  kB_wr/s: 每秒进程向磁盘写的数据量(以kB为单位)。

  •  kB_ccwr/s:每秒进程被取消向磁盘写的数据量(以kB为单位)。

  •  Command::拉起进程对应的命令。

8. time

time命令可以被用于统计指定程序的CPU耗时。

比如time cksum noMachine_6.0.80_1.exe得到如下结果。

2401940638 32606752 nomachine_6.0.80_1.exe  # 整个操作总耗时,00.263-0.094-0.011=0.158是IO等待耗时。  real    0m0.263s  # 用户态耗时  user 0m0.094s  # 内核态耗时  sys 0m0.011s  2401940638 32606752 nomachine_6.0.80_1.exe  # 第二次执行就可以看出等待IO操作的时间基本上没有了。  real    0m0.098s  user 0m0.097s  sys 0m0.000s

9. cpustat

通过sudo apt install cpustat安装,cpustat -T -D -x结果如下。

# 显示Load Avg信息和平均频率等  Load Avg 0.66 0.54 0.49, Freq Avg. 1.46 GHz, 4 CPUs online  # 进程切换次数、硬中断、软中断等等统计信息。  # CPU占用率、用户空间和内核空间占用率等。  3791.1 Ctxt/s, 1709.9 IRQ/s, 1800.0 softIRQ/s, 0.0 new tasks/s, 1 running, 0 blocked    %CPU %USR %SYS PID S CPU Time Task  25.74  25.74   0.00 11435 R 3  2.29w /usr/bin/python3  15.84  15.84   0.00  9445 S 0  1.49w /usr/lib/xorg/Xorg  10.89   9.90   0.99  2722 S 1  1.05w compiz  7.92   0.00   7.92 32352 S 2 16.60s [kworker/2:1]  0.99   0.00   0.99 32397 R 1  0.01s cpustat  0.99   0.99   0.00 11046 S 2 16.20h compiz  0.99   0.99   0.00  1317 S 0  8.76h /usr/NX/bin/nxnode.bin  0.99   0.00   0.99 10293 S 1  1.24m [kworker/1:2]  64.36  53.47  10.89 Total  Load Avg 0.66 0.54 0.49, Freq Avg. 1.75 GHz, 4 CPUs online  2834.8 Ctxt/s, 1190.9 IRQ/s, 1183.3 softIRQ/s, 0.0 new tasks/s, 4 running, 0 blocked    %CPU %USR %SYS PID S CPU Time Task  25.76  25.76   0.00 11435 R 3  2.29w /usr/bin/python3  18.18  18.18   0.00  9445 S 0  1.49w /usr/lib/xorg/Xorg  7.58   7.58   0.00  2722 S 1  1.05w compiz  6.06   0.00   6.06 32352 S 2 16.64s [kworker/2:1]  1.52   0.00   1.52 32397 R 1  0.02s cpustat  1.52   0.00   1.52     8 S 0  3.00h [rcu_sched]  1.52   0.00   1.52 18409 S 0  1.16m update-notifier  62.12  51.52  10.61 Total  Distribution of CPU utilisation (per Task):  % CPU Utilisation Count (%)  0.00 - 1.97       706  98.88  1.97 - 3.94         0   0.00  3.94 - 5.91         0   0.00  5.91 - 7.88         2   0.28  7.88 - 9.85         0   0.00  9.85 - 11.82         0   0.00  11.82 - 13.79         1   0.14  13.79 - 15.76         0   0.00  15.76 - 17.73         1   0.14  17.73 - 19.70         1   0.14  19.70 - 21.67         0   0.00  21.67 - 23.64         0   0.00  23.64 - 25.61         2   0.28  25.61 - 27.57         0   0.00  27.58 - 29.54         0   0.00  29.55 - 31.51         0   0.00  31.52 - 33.48         0   0.00  33.48 - 35.45         0   0.00  35.45 - 37.42         0   0.00  37.42 - 39.39         1   0.14  Distribution of CPU utilisation (per CPU):----------------------------------------------各CPU占用率,分用户空间和内核空间。   CPU# USR% SYS%  0  17.37   1.20  1   8.98   2.40  2   0.60   7.19  3  25.75   0.00

10. htop

htop和top的功能类似,但是可读性比top更好。在界面按下F5,可以看到进程里面的线程,树形结构表示了父子关系。

Linux中有哪些CPU监控工具

11. atop

atop是一个监控系统资源和进程的工具。它通过CPU使用率来对列表中的进程进行降序排列,而每一个进程则包含了CPU、内存、磁盘和网络状态等信息。它的功能与top和htop类似。

Linux中有哪些CPU监控工具

12. glances

glances是一个由Python编写的,与Nmon功能类似的报告工具,它能够报告统计cpu、内存、网络、磁盘和进程。除了报告统计,glances不支持任何其他特性或功能。当程序运行时点击“h”可以显示帮助页面。

Linux中有哪些CPU监控工具

13. nmon

Nmon是一个非常容易使用,能够在一个屏幕上监视CPU、内存、网络、磁盘使用状况和进程列表的工具。除了无法管理进程和修改报告显示,Nmon与那些只用于报告的报告工具完全一样。另外,它可以将数据保存到电子表格文件。

Linux中有哪些CPU监控工具

14. pcp-gui

PerfORMance Co-Pilot,简称PCP,是一个系统性能和分析框架。它从多个主机整理数据并实时的分析,帮你识别不正常的表现模式。它也提供api让你设计自己的监控和报告解决方案。

安装pcp相关工具。

$ sudo apt install pcp pcp-gui

File->Open View选择需要打开的视图,比如CPU、Disk、Memory等。

Linux中有哪些CPU监控工具

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:

sudo apt-get install collectl

collectl的使用很简单,默认collectl显示cpu、磁盘、网络信息。

Linux中有哪些CPU监控工具

collectl还可以显示更多的子系统信息,如果选项存在对应的大写选项,大写选项表示更细节的设备统计信息。

b – buddy info (内存碎片)  c – 所有CPU的合一统计信息;C - 单个CPU的统计信息。  d – 整个文件系统Disk合一统计信息;C - 单个磁盘的统计信息。  f – NFS V3 Data  i – Inode and File System  j – 显示每个CPU的Interrupts触发情况;J - 显示每个中断详细触发情况。  l – Lustre  m – 显示整个系统Memory使用情况;M - 按node显示内存使用情况。  n – 显示整个系统的Networks使用情况;N - 分网卡显示网络使用情况。  s – Sockets  t – TCP  x – Interconnect  y – 对系统所有Slabs (系统对象缓存)使用统计信息;Y - 每个slab使用的详细信息。

collectl --all显示所有子系统的统计信息,包括cpu、终端、内存、磁盘、网络、TCP、socket、文件系统、NFS。

Linux中有哪些CPU监控工具

collectl --top可以代替top命令:

Linux中有哪些CPU监控工具

collectl --vmstat可以代替vmstat命令:

Linux中有哪些CPU监控工具

collectl -c1 -sZ -i:1可以代替ps命令。

collectl和一些处理分析数据工具(比如colmux、colgui、colplot)结合能提供可视化图形。

15.2 colplot使用

colplot是collectl工具集的一部分,其将collectl收集的数据在浏览器中图形化展示。

colplot的介绍(Http://collectl-utils.sourceforge.net/colplot.html),相关源码可以再collectl-utils]下载:https://sourceforge.net/projects/collectl-utils/files/

解压下载的colplot之后,sudo ./INSTALL安装colplot。

安装之后重启apache服务:

$suod systemctl reload apache2  $sudo systemctl restart apache2

在浏览器中输入http://127.0.0.1/colplot/,即可使用colplot。

通过Change Dir选择存放经过collectl -P保存的数据,然后设置Plot细节、显示那些子系统、plot大小等等。

Linux中有哪些CPU监控工具

最后Generate Plot查看结果。

Linux中有哪些CPU监控工具   

关于Linux中有哪些CPU监控工具就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: Linux中有哪些CPU监控工具

本文链接: https://lsjlt.com/news/281963.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Linux中有哪些CPU监控工具
    这篇文章给大家介绍Linux中有哪些CPU监控工具,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. toptop是最常用的查看系统资源使用情况的工具,包括CPU、内存等等资源。这里主要关注CPU资源。1.1 /pro...
    99+
    2023-06-16
  • Linux下CPU监控工具有哪些
    小编给大家分享一下Linux下CPU监控工具有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 01. toptop是最常用的查看系统资源使用情况的工...
    99+
    2023-06-15
  • linux监控工具有哪些
    常见的linux监控工具有:1.dstat,系统监控工具;2.pidstat,系统资源监控工具;3.Netstat,TCP/IP网络监控工具;4.iotop,磁盘操作监控工具;5.Saidar,CLI系统数据监控和统计工具;6.top,性能...
    99+
    2024-04-02
  • Linux性能监控工具有哪些
    这篇文章主要为大家展示了“Linux性能监控工具有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux性能监控工具有哪些”这篇文章吧。一、基于命令行的性能监控工具1.dstat - 多类...
    99+
    2023-06-16
  • Linux网络监控工具有哪些
    这篇文章给大家分享的是有关Linux网络监控工具有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。本文转载自微信公众号「新钛云服」,作者侯明明 翻译   。转载本文请联系新钛云服公众号。前言...
    99+
    2023-06-15
  • Linux有哪些网络监控工具
    小编给大家分享一下Linux有哪些网络监控工具,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!NetstatNetstat是Linux下全能的网络监控工具,可以监控主机网络数据包统计信息以及网卡信息的命令行工具。它可以显示当...
    99+
    2023-06-15
  • linux性能监控工具有哪些呢
    这期内容当中小编将会给大家带来有关linux性能监控工具有哪些呢,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.uptime该命令直观的显示了服务器在过去15分钟,5分钟,1分钟内的平均负载vmstat...
    99+
    2023-06-13
  • linux服务器监控工具有哪些
    Linux服务器监控工具有很多,常见的包括:1. Nagios:一款开源的网络监控系统,可以对网络设备、服务器、应用程序等进行监控,...
    99+
    2023-06-17
    服务器监控 服务器
  • Linux中超实用的监控工具有哪些
    这篇文章将为大家详细讲解有关Linux中超实用的监控工具有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. iotop如果你想知道某些进程使用了多少你宝贵的 I/O 资源,那么就使用 iotop 吧...
    99+
    2023-06-27
  • Linux系统常用监控工具有哪些
    这篇文章主要介绍了Linux系统常用监控工具有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。top 命令top 命令我想大家都挺熟悉吧!Linux 下的 top 命令有点...
    99+
    2023-06-16
  • 超实用的Linux监控工具有哪些
    这篇文章主要为大家展示了“超实用的Linux监控工具有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“超实用的Linux监控工具有哪些”这篇文章吧。1. iotop如果你想知道某些进程使用了多...
    99+
    2023-06-15
  • Linux流量监控软件工具有哪些
    这篇文章主要为大家展示了“Linux流量监控软件工具有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux流量监控软件工具有哪些”这篇文章吧。1、Linux流量监控软件iptrafIPT...
    99+
    2023-06-16
  • Linux中有哪些监控磁盘分区的工具
    这期内容当中小编将会给大家带来有关Linux中有哪些监控磁盘分区的工具,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是Linux系统Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于P...
    99+
    2023-06-07
  • Java中有哪些流程监控工具
    Java中有哪些流程监控工具,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。什么是Java ProfilersJava  Profiler是一种监视JVM级别的Java...
    99+
    2023-06-16
  • 好用的Linux网络监控工具有哪些
    这篇文章主要为大家展示了“好用的Linux网络监控工具有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“好用的Linux网络监控工具有哪些”这篇文章吧。排名最好的闭源监控工具 Sol...
    99+
    2023-06-15
  • 大数据监控的工具有哪些
    本篇内容主要讲解“大数据监控的工具有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“大数据监控的工具有哪些”吧!大数据监控是指通过大数据技术手段获取、收集、分析数据,并能够准确分析信息,有效预...
    99+
    2023-06-26
  • linux服务器网络信息监控工具有哪些
    linux服务器网络信息监控工具有:1、iftop工具,它能够实现监听指定网络接口、捕获进出网络适配器的数据包、过滤流量等功能;2、vnstat工具,它是一块轻量级网络数据收集工具,能够实时记录服务器网络数据;3、nethogs工具,它主要...
    99+
    2024-04-02
  • 非常强大的Linux网络监控工具有哪些
    这篇文章主要为大家分析了非常强大的Linux网络监控工具有哪些的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“非常强大的Linux网络监控工具有哪些”的知识吧...
    99+
    2023-06-28
  • LinuxMint中有哪些内置的系统监控工具
    LinuxMint中内置了多个系统监控工具,包括: System Monitor(系统监视器):一个图形化的工具,用于监视系统的...
    99+
    2024-03-13
    LinuxMint
  • Kafka的监控和管理工具有哪些
    Kafka的监控和管理工具包括: Kafka Manager:由Yahoo开发的开源工具,提供了对Kafka集群的监控、管理和操...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作