系統平均負載被定義爲在特定時間間隔內運行隊列中的平均進程數。若是一個進程知足如下條件則其就會位於運行隊列中:
- 它沒有在等待I/O操做的結果
- 它沒有主動進入等待狀態(也就是沒有調用'wait')
linux
- 沒有被中止(例如:等待終止) 緩存
load average: 0.09, 0.05, 0.01
三個數分別表明不一樣時間段的系統平均負載(一分鐘、五 分鐘、以及十五分鐘)
從性能的角度上理解,一臺主機擁有多核心的處理器與另臺擁有一樣數目的處理性能基本上能夠認爲是相差無幾。固然實際 狀況會複雜得多,不一樣數量的緩存、處理器的頻率等因素均可能形成性能的差別。 性能
但即使這些因素形成的實際性能稍有不一樣,其實系統仍是以處理器的核心數量計算負載均值 。這使咱們有了兩個新的法則: spa
經驗法則是這樣的(以單個核心作標準): code
當系統負荷持續大於0.7,你必須開始調查了,問題出在哪裏,防止狀況惡化。 隊列
當系統負荷持續大於1.0,你必須動手尋找解決辦法,把這個值降下來。 進程
當系統負荷達到5.0,就代表你的系統有很嚴重的問題,長時間沒有響應,或者接近死機了。你不該該讓系統達到這個值。 it
若是隻有1分鐘的系統負荷大於1.0,其餘兩個時間段都小於1.0,這代表只是暫時現象,問題不大。 經驗
若是15分鐘內,平均系統負荷大於1.0(調整CPU核心數以後),代表問題持續存在,不是暫時現象。因此,你應該主要觀察"15分鐘系統負荷",將它做爲電腦正常運行的指標。 時間