文章來源: linux 平均負載 load average 的含義 load average 的含義 平均負載(load average)是指系統的運行隊列的平均利用率,也可以認為是可運行進程的平均數。 以路況為例, 單核CPU、單車道 情況如下: 0.00-1.00 之間的數字表示此時路況非常良好 ...
文章來源: linux 平均負載 load average 的含義
load average 的含義
平均負載(load average)是指系統的運行隊列的平均利用率,也可以認為是可運行進程的平均數。
以路況為例, 單核CPU、單車道 情況如下:
- 0.00-1.00 之間的數字表示此時路況非常良好,沒有擁堵,車輛可以毫無阻礙地通過。
- 1.00 表示道路還算正常,但有可能會惡化並造成擁堵。此時系統已經沒有多餘的資源了,管理員需要進行優化。
- 1.00-*** 表示路況不太好了,如果到達2.00表示有橋上車輛一倍數目的車輛正在等待。這種情況你必須進行檢查了。
多核CPU - 多車道 情況如下:
多核CPU的話,滿負荷狀態的數字為 "1.00 * CPU核數",即雙核CPU為2.00,四核CPU為4.00。
一般的進程需要消耗CPU、記憶體、磁碟I/O、網路I/O等資源,在這種情況下,平均負載就不是單獨指的CPU使用情況。即記憶體、磁碟、網路等因素也可以影響系統的平均負載值。
在單核處理器中,平均負載值為1或者小於1的時候,系統處理進程會非常輕鬆,即負載很低。當達到3的時候,就會顯得很忙,達到5或者8的時候就不能很好的處理進程了(其中5和8目前還是個爭議的閾值,為了保守起見,建議選擇低的)。
參考:
https://www.slyar.com/blog/linux-load-average-three-numbers.html
http://www.yunweipai.com/archives/2750.html
查看load average 數據
下麵幾個命令都可以看到 load average
# top # uptime # w
截圖如下:
top 命令的
uptime 命令的
w 命令的
這裡的 load average 的三個值分別指系統在最後 1/5/15分鐘 的平均負載值。
根據經驗:我們應該把重點放在5/15分鐘的平均負載,因為1分鐘的平均負載太頻繁,一瞬間的高併發就會導致該值的大幅度改變。
相關的演算法請參考:
http://itlab.idcquan.com/linux/attestation/816287.html