CPU負載:
CPU平均負載(load average)是指某段時間內占用cpu時間的進程和等待cpu時間的進程數,這里等待cpu時間的進程是指等待被喚醒的進程,不包括處於wait狀態進程。
CPU負載是基於內核數來計算的,有一個說法,“有多少內核,即有多少負載”
CPU負載小於等於0.7算是一種理想狀態,0.7乘以內核數,得出服務器理想的CPU負載
當系統負荷持續大於0.7,你必須開始調查了,問題出在哪里,防止情況惡化。
當系統負荷持續大於1.0,你必須動手尋找解決辦法,把這個值降下來。
當系統負荷達到5.0,就表明你的系統有很嚴重的問題,長時間沒有響應,或者接近死機了。
如果只有1分鍾的系統負荷大於1.0,其他兩個時間段都小於1.0,這表明只是暫時現象,問題不大。
如果15分鍾內,平均系統負荷大於1.0(調整CPU核心數之后),表明問題持續存在,不是暫時現象。
主要觀察"15分鍾系統負荷",將它作為服務器正常運行的指標。
CPU使用率:
CPU利用率是指CPU工作時間占總時間的比重,公式如下:
Utilization= work_time/total_time total_time=work_time+idle_ime.
可見,總時間由一段連續時間內的CPU工作時間長度和CPU空閑時間長度組成。
舉個簡單例子:
在單處理器中,線程1,先工作10ms,線程2再工作30ms,之后CPU空閑60ms。則此100ms時間段內,CPU的利用率就是40%
# 查看物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l
# 總核數 = 物理CPU個數 X 每顆物理CPU的核數
grep -c 'model name' /proc/cpuinfo(直接返回CPU總核心數)
# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超線程數
查看CPU信息(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
查看內 存信息
# cat /proc/meminfo
查看線程數
grep 'processor' /proc/cpuinfo | sort -u | wc