CPU主要關注2點:使用率、負載;
一、CPU使用率
1、如何檢視CPU使用率
使用vmstat、top等指令查詢,擷取空閑(idle簡寫為id)值,1-id 即為cpu使用率
使用哪種方式查詢都可以,需注意當cpu使用率較大時,需使用top指令查詢單個cpu的使用率;
1)vmstat

2) top
top指令界面下,按1,顯示單個cpu的資訊(再按1,顯示cpu總的使用情況)
如果某個cpu的數值使用率較大,其餘的很小,則證明程式設計的有問題;
2、CPU使用率分析
注意>50% 告警>70% 嚴重>90%(也可以設定為80%以上告警)
當系統cpu使用率大于50%時,需要注意;大于70%時,需密切關注;大于90%,情況就比較嚴重了;
建議CPU使用率70%以下;
二、CPU負載
1、如何檢視CPU負載
1)檢視CPU邏輯顆數(負載與邏輯CPU個數密切相關)
cat /proc/cpuinfo |grep "processor"|wc -l
說明:以上為4核CPU
2)檢視cpu負載
top指令界面如下(分别為1/5/15分鐘的平均負載):
2、CPU負載分析
top指令,load average的3個值,均除以邏輯cpu個數,得到的結果為每個cpu核心的負載,對此數值進行分析;
如果大于1,證明已經有一定的負載了;建議每個cpu核心平均負載不大于0.8;
如果為1~3之間,且系統其它資源都正常,則可接受;若大于5,則系統性能有問題;(有時大于2,也可以說負載高)
此數值并不是固定的,需要根據系統其它資源統一分析;
ps:這3個值代表1、5、15分鐘的平均值,通過這3個數值的資訊,可以分析出系統負載的趨勢;
三、其他
1) vmstat的r計數器> cpu邏輯顆數
vmstat 1:關注r列值
r列: 表示系統中 CPU 等待處理的線程。由于 CPU 每次隻能處理一個線程,是以,該數值越大,通常表示系統運作越慢。
這個值如果長期大于CPU邏輯顆數,則說明CPU資源不足,可以考慮增加CPU;
2)sar -u:檢視CPU使用率
sar -q:檢視CPU平均負載