當(dāng)前位置:首頁 > IT技術(shù) > 系統(tǒng)服務(wù) > 正文

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:
2021-09-28 16:54:18

?

1. top

top是最常用的查看系統(tǒng)資源使用情況的工具,包括CPU、內(nèi)存等等資源。

這里主要關(guān)注CPU資源。

Linux CPU使用率超過100%的原因:

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_python

在top模式下按1可看見CPU的數(shù)量是4

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_chrome_02

?

百度了一番發(fā)現(xiàn)原來top命令是按CPU總使用率來顯示的,4核理論上最高可達(dá)400%

1.1 /proc/loadavg

load average取自/proc/loadavg。

9.53 9.12 8.37 3/889 28165

前三個數(shù)字是1、5、15分鐘內(nèi)進程隊列中平均進程數(shù),包括正在運行的進程+準(zhǔn)備好等待運行的進程。

第四個數(shù)字分子表示正在運行的進程數(shù),分母是進程總數(shù)。

最后一個數(shù)字是最近運行的進程ID號。

其中top取的是/proc/loadavg的前三個數(shù)。

1.2 top使用

打開top,可以指定更新的周期。

輸入H,打開隱藏的線程;輸入1,可以顯示單核CPU使用情況。

top -H -b -d 1 -n 200 > top.txt,每個1秒統(tǒng)計一次,共200次,顯示線程細(xì)節(jié),并保存到top.txt中。

top采樣來源你還依賴于/proc/stat和/proc/<pid>/stat兩個,這兩個的詳細(xì)介紹參考:??/proc/stat??和??/proc/<pid>/stat??。

其中CPU信息對應(yīng)的含義如下:

us是user的意思,統(tǒng)計nice小于等于0的用戶空間進程,也即優(yōu)先級為100~120。

ni是nice的意思,統(tǒng)計nice大于0的用戶空間進程,也即優(yōu)先級為121~139。

sys是system的意思,統(tǒng)計內(nèi)核態(tài)運行時間,不包括中斷。

id是idle的意思,幾系統(tǒng)處于空閑態(tài)。

wa是iowait的意思,統(tǒng)計io等待時間。

hi是hardware interrupt,統(tǒng)計硬件中斷時間。

si是software interrupt,統(tǒng)計軟中斷時間。

最后的st是steal的意思。

?

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_chrome_03

?

?

2. perf

《??系統(tǒng)級性能分析工具perf的介紹與使用??》有關(guān)于perf使用的詳細(xì)介紹,這里重點關(guān)注CPU占用率。

通過sudo perf top -s comm,可以查看當(dāng)前系統(tǒng)運行進程占比。

這里不像top一樣區(qū)分idle、system、user,這里的占比是各個進程在總運行時間里面占比。

通過sudo perf record記錄采樣信息,然后通過sudo?perf report -s comm。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_linux_04

?

?

3. sar、ksar

(sysstat 是?Linux 系統(tǒng)中的常用工具包,sar 是 sysstat 中的核心工具,sar用來收集系統(tǒng)性能信息,Ksar用來圖形顯示數(shù)據(jù))

?

要使用sar需要安裝sudo apt install sysstat,然后對sysstat進行配置。

sudo vi /etc/default/sysstat--------------------------------將 ENABLED=“false“ 改為ENABLED=“true“。

sudo vi /etc/cron.d/sysstat--------------------------------修改sar的周期等配置。

sudo /etc/init.d/sysstat restart--------------------------------重啟sar服務(wù)

上面重啟服務(wù)后,會在下面的目錄看到sar的log文件

/var/log/sysstat/--------------------------------------------------sar log存放目錄

?

也可也輸出重定向到文件,使用sar記錄開機到目前的統(tǒng)計信息到文件sar.txt。

LC_ALL=C sar -A > sar.txt?

(LC_ALL=C 語言環(huán)境切換回默認(rèn)編碼,??http://blog.chinaunix.net/uid-74180-id-2055792.html??)

?

?

(運行 sar -u 等命令,如下,生成sar.txt文件)

sar -u 3? 60? #3秒采一次,采60次

?

sar 1 100---------------------------------------所有cpu合一的統(tǒng)計信息 ?

sar -P ALL 1 100-----------------------------包括cpu合一以及單個cpu的統(tǒng)計信息

sar -B 1 100-----------------------------------paging統(tǒng)計信息

sar -b 1 100----------------------------------塊設(shè)備IO統(tǒng)計信息

sar -d 1 100----------------------------------塊設(shè)備活動統(tǒng)計信息

sar -F 1 100---------------------------------掛載的文件系統(tǒng)統(tǒng)計信息

sar -r ALL------------------------------------顯示詳細(xì)的內(nèi)存使用統(tǒng)計信息

sar -S----------------------------------------顯示swap空間使用情況統(tǒng)計信息

sar -w---------------------------------------顯示進程創(chuàng)建以及進程切換統(tǒng)計信息

sar -W--------------------------------------顯示swap換入換出統(tǒng)計信息。

?

PS:這里直接使用sar -A,在ksar中無法正常顯示。

下載ksar,下載地址在:??https://github.com/vlsi/ksar/releases??。

(我下載下來的ksar只能在Windows上運行,然后菜單加載text file) 如下執(zhí)行java -jar ksar.jar,然后Data->Load from text file...選擇保存的sar.txt文件。

?

得到如下的圖表。?

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_用戶空間_05

還可以通過sar記錄一段時間的信息,指定采樣周期和采樣次數(shù)。

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

?

?

?

4. mpstat

mpstat是Multiprocessor Statistics。當(dāng)沒有參數(shù)時,mpstat顯示系統(tǒng)系統(tǒng)以來所有信息平均值。

常見用法如下,-P ALL監(jiān)控所有CPU,細(xì)節(jié)顯示特定CPU;10表示每10秒監(jiān)控一次;20表示監(jiān)控20次。

mpstat -P ALL 10 20

結(jié)果如下:

?

Linux 4.13.0-36-generic (xxx)     2018年08月13日     _x86_64_    (4 CPU)

11時01分09秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11時01分19秒 all 3.44 6.26 5.15 0.13 0.00 0.20 0.00 0.00 0.00 84.82
11時01分19秒 0 3.09 13.46 3.29 0.00 0.00 0.10 0.00 0.00 0.00 80.06
11時01分19秒 1 4.41 3.11 5.02 0.00 0.00 0.60 0.00 0.00 0.00 86.86
11時01分19秒 2 2.96 0.20 9.29 0.00 0.00 0.10 0.00 0.00 0.00 87.45
11時01分19秒 3 3.32 7.95 3.12 0.50 0.00 0.00 0.00 0.00 0.00 85.11

11時01分19秒 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
11時01分29秒 all 3.65 6.09 5.08 0.00 0.00 0.25 0.00 0.00 0.00 84.93
11時01分29秒 0 3.92 11.07 4.63 0.00 0.00 0.20 0.00 0.00 0.00 80.18
11時01分29秒 1 4.39 1.90 3.49 0.00 0.00 0.80 0.00 0.00 0.00 89.42
11時01分29秒 2 3.35 0.10 10.14 0.00 0.00 0.00 0.00 0.00 0.00 86.41
11時01分29秒 3 2.91 11.26 2.21 0.00 0.00 0.00 0.00 0.00 0.00 83.62

?

?

usr表示用戶空間進程,nice表示nice值大于0的用戶空間進程。

sys是內(nèi)核空間,iowait是I/O等待時間,irq是硬中斷,soft是軟中斷,idle是空閑時間,guest和gnice都是虛擬機時間。

?

5. uptime

uptime是一個簡單獲取系統(tǒng)總共運行多長時間,以及最近1分鐘、5分鐘、15分鐘的平均負(fù)載。

uptime通過/proc/uptime和/proc/loadavg獲取相關(guān)信息。

up前是當(dāng)前系統(tǒng)時間,up后是系統(tǒng)運行時長。

load average后是1分鐘、5分鐘、15分鐘平均負(fù)載。

11:15:41 up 82 days, 20:34,  8 users,  load average: 0.28, 0.40, 0.43

?

6. vmstat

vmstat主要用于監(jiān)控系統(tǒng)內(nèi)存使用情況的工具,但是也包含一些CPU相關(guān)信息。

使用方法vmstat 5 5表示運行5次,每次5秒。結(jié)果如下:

?

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

?

上面的參數(shù)可以分為6大部分:進程、內(nèi)存、swap、io、中斷和進程切換、cpu。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_用戶空間_06

更加詳細(xì)的解釋:

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_python_07

?

7. pidstat

pidstat主要用于監(jiān)控全部或指定進程占用系統(tǒng)資源的情況。

7.1 查看CPU使用情況

pidstat首次運行時顯示自系統(tǒng)啟動開始的各項統(tǒng)計信息,之后運行pidstat將顯示自上次運行該命令以后的統(tǒng)計信息。用戶可以通過指定統(tǒng)計的次數(shù)和時間來獲得所需的統(tǒng)計信息。

pidstat -p ALL---------------------------顯示所有的進程統(tǒng)計信息,包括idle進程。

pidstat -p ALL -t------------------------更加詳細(xì)的顯示了線程統(tǒng)計信息。

pidstat [option] interval [count]-----周期采樣和采樣次數(shù)

除此之外還可以通過-p獲取指定進程的統(tǒng)計信息。

pidstat還可以通過-r獲取內(nèi)存使用統(tǒng)計信息,通過-d獲取IO使用統(tǒng)計信息。

?

7.2 查看內(nèi)存使用情況

pidstat -p ALL -r結(jié)果如下:

?

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: 每秒次缺頁錯誤次數(shù)(minor page faults),次缺頁錯誤次數(shù)意即虛擬內(nèi)存地址映射成物理內(nèi)存地址產(chǎn)生的page fault次數(shù)。

majflt/s: 每秒主缺頁錯誤次數(shù)(major page faults),當(dāng)虛擬內(nèi)存地址映射成物理內(nèi)存地址時,相應(yīng)的page在swap中,這樣的page fault為major page fault,一般在內(nèi)存使用緊張時產(chǎn)生。

VSZ: 該進程使用的虛擬內(nèi)存(以kB為單位)。

RSS: 該進程使用的物理內(nèi)存(以kB為單位)。

%MEM: 該進程使用內(nèi)存的百分比。

Command: 拉起進程對應(yīng)的命令。

7.3 查看磁盤使用情況

pidstat -p ALL -d結(jié)果如下:

?

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: 每秒進程從磁盤讀取的數(shù)據(jù)量(以kB為單位)。

kB_wr/s: 每秒進程向磁盤寫的數(shù)據(jù)量(以kB為單位)。

kB_ccwr/s:每秒進程被取消向磁盤寫的數(shù)據(jù)量(以kB為單位)。

Command: 拉起進程對應(yīng)的命令。

?

8. time

time命令可以被用于統(tǒng)計指定程序的CPU耗時。

比如time cksum nomachine_6.0.80_1.exe得到如下結(jié)果。

?

2401940638 32606752 nomachine_6.0.80_1.exe

real 0m0.263s-----------------整個操作總耗時,0.263-0.094-0.011=0.158是IO等待耗時。
user 0m0.094s-----------------用戶態(tài)耗時
sys 0m0.011s------------------內(nèi)核態(tài)耗時
2401940638 32606752 nomachine_6.0.80_1.exe

real 0m0.098s-----------------第二次執(zhí)行就可以看出等待IO操作的時間基本上沒有了。
user 0m0.097s
sys 0m0.000s

?

?

9. cpustat

通過sudo apt install cpustat安裝,cpustat -T -D -x結(jié)果如下。

?

Load Avg 0.66 0.54 0.49, Freq Avg. 1.46 GHz, 4 CPUs online------------------------------顯示Load Avg信息和平均頻率等。
3791.1 Ctxt/s, 1709.9 IRQ/s, 1800.0 softIRQ/s, 0.0 new tasks/s, 1 running, 0 blocked----進程切換次數(shù)、硬中斷、軟中斷等等統(tǒng)計信息。
%CPU %USR %SYS PID S CPU Time Task-------------------------------------------CPU占用率、用戶空間和內(nèi)核空間占用率等。
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占用率,分用戶空間和內(nèi)核空間。
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,可以看到進程里面的線程,樹形結(jié)構(gòu)表示了父子關(guān)系。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_數(shù)據(jù)_08

?

?

11. atop

atop是一個監(jiān)控系統(tǒng)資源和進程的工具。它通過CPU使用率來對列表中的進程進行降序排列,而每一個進程則包含了CPU、內(nèi)存、磁盤和網(wǎng)絡(luò)狀態(tài)等信息。它的功能與top和htop類似。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_python_09

?

12. glances

glances是一個由python編寫的,與Nmon功能類似的報告工具,它能夠報告統(tǒng)計cpu、內(nèi)存、網(wǎng)絡(luò)、磁盤和進程。除了報告統(tǒng)計,glances不支持任何其他特性或功能。當(dāng)程序運行時點擊“h”可以顯示幫助頁面。

?【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_python_10

?

13. nmon

Nmon是一個非常容易使用,能夠在一個屏幕上監(jiān)視CPU、內(nèi)存、網(wǎng)絡(luò)、磁盤使用狀況和進程列表的工具。除了無法管理進程和修改報告顯示,Nmon與那些只用于報告的報告工具完全一樣。另外,它可以將數(shù)據(jù)保存到電子表格文件。

?【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_linux_11

?

?13. pcp-gui

Performance Co-Pilot,簡稱PCP,是一個系統(tǒng)性能和分析框架。它從多個主機整理數(shù)據(jù)并實時的分析,幫你識別不正常的表現(xiàn)模式。它也提供API讓你設(shè)計自己的監(jiān)控和報告解決方案。

安裝pcp相關(guān)工具。

sudo apt install pcp pcp-gui

File->Open View選擇需要打開的視圖,比如CPU、Disk、Memory等。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_chrome_12

?

14. collectl、colplot

14.1 collectl使用

collectl是一款非常優(yōu)秀并且有著豐富的命令行功能的實用程序,你可以用它來采集描述當(dāng)前系統(tǒng)狀態(tài)的性能數(shù)據(jù)。

不同于大多數(shù)其它的系統(tǒng)監(jiān)控工具,collectl 并非僅局限于有限的系統(tǒng)度量,相反,它可以收集許多不同類型系統(tǒng)資源的相關(guān)信息,如 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的使用很簡單,默認(rèn)collectl顯示cpu、磁盤、網(wǎng)絡(luò)信息。

?

#<----CPU[HYPER]-----><----------Disks-----------><----------Network---------->
#cpu sys inter ctxsw KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut
0 0 162 460 0 0 0 0 0 0 0 0
1 0 308 820 0 0 36 1 0 0 0 0
1 0 572 2022 0 0 36 2 0 0 0 0
0 0 270 728 0 0 0 0 0 0 0 0

?

?

collectl還可以顯示更多的子系統(tǒng)信息,如果選項存在對應(yīng)的大寫選項,大寫選項表示更細(xì)節(jié)的設(shè)備統(tǒng)計信息。

b?– buddy info (內(nèi)存碎片)

c?– 所有CPU的合一統(tǒng)計信息;C - 單個CPU的統(tǒng)計信息。

d?– 整個文件系統(tǒng)Disk合一統(tǒng)計信息;C - 單個磁盤的統(tǒng)計信息。

f?– NFS V3 Data

i?– Inode and File System

j?– 顯示每個CPU的Interrupts觸發(fā)情況;J - 顯示每個中斷詳細(xì)觸發(fā)情況。

l?– Lustre

m?– 顯示整個系統(tǒng)Memory使用情況;M - 按node顯示內(nèi)存使用情況。

n?– 顯示整個系統(tǒng)的Networks使用情況;N - 分網(wǎng)卡顯示網(wǎng)絡(luò)使用情況。

s?– Sockets

t?– TCP

x?– Interconnect

y?– 對系統(tǒng)所有Slabs (系統(tǒng)對象緩存)使用統(tǒng)計信息;Y - 每個slab使用的詳細(xì)信息。

collectl --all顯示所有子系統(tǒng)的統(tǒng)計信息,包括cpu、終端、內(nèi)存、磁盤、網(wǎng)絡(luò)、TCP、socket、文件系統(tǒng)、NFS。

?

#<----CPU[HYPER]-----><-----------------Int------------------><-----------------Memory-----------------><----------Disks-----------><----------Network----------><-------TCP--------><------Sockets-----><----Files---><------NFS Totals------>
#cpu sys inter ctxsw Cpu0 Cpu1 Cpu2 Cpu3 Cpu4 Cpu5 Cpu6 Cpu7 Free Buff Cach Inac Slab Map Fragments KBRead Reads KBWrit Writes KBIn PktIn KBOut PktOut IP Tcp Udp Icmp Tcp Udp Raw Frag Handle Inodes Reads Writes Meta Comm
5 1 749 2738 79 83 67 126 289 57 87 47 4G 107M 1G 640M 151M 1G nlsrkjebaas 0 0 0 0 0 0 0 0 0 2 0 0 1138 0 1 0 11648 71267 0 0 0 0
1 0 276 1323 22 8 12 37 76 19 33 72 4G 107M 1G 640M 151M 1G nlsrkjebaas 0 0 56 13 0 0 0 0 0 0 0 0 1138 0 1 0 11648 71264 0 0 0 0
1 0 298 1336 40 9 26 31 75 31 34 49 4G 107M 1G 640M 151M 1G olsrkjebaas 0 0 24 5 0 0 0 0 0 0 0 0 1138 0 1 0 11648 71256 0 0 0 0

?

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

?

# TOP PROCESSES sorted by time (counters are /sec) 12:11:40
# PID User PR PPID THRD S VSZ RSS CP SysT UsrT Pct AccuTime RKB WKB MajF MinF Command
14557 al 20 7305 0 R 75M 28M 4 0.02 0.05 7 00:00.47 0 0 0 0 /usr/bin/perl
6985 al 20 1 36 S 1G 181M 3 0.01 0.03 4 01:48.14 0 4 0 1 /opt/google/chrome/chrome
7255 al 20 7000 21 S 955M 215M 1 0.00 0.04 4 01:30.44 0 0 0 1999 /opt/google/chrome/chrome
8006 al 20 7000 17 S 923M 135M 0 0.01 0.03 4 01:24.67 0 0 0 0 /opt/google/chrome/chrome
7294 al 20 2415 3 S 710M 60M 7 0.01 0.01 2 00:12.79 0 0 0 4 /usr/bin/python

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

#procs ---------------memory (KB)--------------- --swaps-- -----io---- --system-- ----cpu-----
# r b swpd free buff cache inact active si so bi bo in cs us sy id wa
2 0 0 4634M 108M 1535M 642M 481M 0 0 0 132 594 2523 2 0 96 0
0 0 0 4631M 108M 1539M 642M 481M 0 0 0 0 1006 5308 4 1 93 0
0 0 0 4623M 108M 1547M 642M 481M 0 0 0 48 564 2572 2 0 96 0

?

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

?

collectl和一些處理分析數(shù)據(jù)工具(比如colmux、colgui、colplot)結(jié)合能提供可視化圖形。

14.2 colplot使用

colplot是collectl工具集的一部分,其將collectl收集的數(shù)據(jù)在瀏覽器中圖形化展示。

colplot的介紹??在此??,相關(guān)源碼可以再??collectl-utils??下載。

解壓下載的colplot之后,sudo ./INSTALL安裝colplot。

安裝之后重啟apache服務(wù):

suod systemctl reload apache2

sudo?systemctl restart apache2

在瀏覽器中輸入??http://127.0.0.1/colplot/??,即可使用colplot。

通過Change Dir選擇存放經(jīng)過collectl -P保存的數(shù)據(jù),然后設(shè)置Plot細(xì)節(jié)、顯示那些子系統(tǒng)、plot大小等等。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_linux_13

最后Generate Plot查看結(jié)果。

【監(jiān)控】Linux CPU占用率監(jiān)控工具小結(jié)--實踐和完善Linux CPU使用率超過100%的原因:_數(shù)據(jù)_14

?

?

?

?

?

?

本文摘自 :https://blog.51cto.com/l

開通會員,享受整站包年服務(wù)立即開通 >