cpu load average解釋
查看cpu總核數:# cat /proc/cpuinfo|grep processor
查看物理cpu個數:# cat /proc/cpuinfo| grep "physical id"|uniq
查看每個物理cpu核數:# cat /proc/cpuinfo| grep "physical id"|uniq -c
或# cat /proc/cpuinfo| grep "cpu cores"|uniq
查看cpu load:#uptime \ #top \ #cat /proc/loadavg ---->分別顯示了過去1min、5min、15min的平均值。5分鍾更能代表系統的整體負載情況,如果1分鍾的值很高,其他兩個值很低,只能說明系統有瞬間的高負載。如果15分鍾內,系統的平均負載都很大,表明問題持續存在,不是暫時現象。
running:使用CPU的進程(正在運行進程)。
runnable:等待CPU的進程(等待運行進程)。
uninterruptible sleep:等待磁盤I/O的進程。
大致可認為是 : cpu進程隊列中進程的數量(正在運行+等待進程數)
--------------------------------------------------------------------= cpu load average
cpu可處理能力的比值(同一時間可處理的進程數)
或可認為是: 可運行狀態進程(正在運行進程和正在等待CPU的進程,狀態為R)
----------------------------------------------------------------------------------------------------------=cpu load average
不可中斷狀態的進程(正在做某些工作不能被中斷比如等待磁盤IO等,其狀態為D)
cpu load和cpu的核數有關,比如單核cpu可能其同一時間可處理進程的能力數為10,當超過10個時,多余出來的只能處於等待狀態,而這部分也算到比值中。
如將一個單核cpu比作大橋,橋上的最大可承載汽車數量為10

正常情況下,可以認為單核cpu的load健康值為1,雙核或2個單核cpu的load健康值為2。以此類推,
例:在一個單核機器上,load average是"1.73 0.60 7.98",那么可以大致這么解釋:
- 在過去1分鍾中,系統負載超額73%。(1.73個運行+等待進程,但是有0.73個進程需要等待)
- 在過去5分鍾中,系統負載有40%空閑
- 在過去15分鍾中,系統負載超額698%。(7.98個運行+等待,但是有6.98個需要等待)