天天看點

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 指令的

linux 平均負載 load average 的含義 - 蝈蝈俊

uptime 指令的

w 指令的

linux 平均負載 load average 的含義 - 蝈蝈俊

這裡的 load average 的三個值分别指系統在最後 1/5/15分鐘 的平均負載值。

根據經驗:我們應該把重點放在5/15分鐘的平均負載,因為1分鐘的平均負載太頻繁,一瞬間的高并發就會導緻該值的大幅度改變。

相關的算法請參考:

http://itlab.idcquan.com/linux/attestation/816287.html

linux 平均負載 load average 的含義 - 蝈蝈俊