load average 的含義平均負載(load average)是指系統的運行隊列的平均利用率,也可以認為是可運行進程的平均數。 top命令中load average顯示的是最近1分鐘、5分鐘和15分鐘的系統平均負載。系統平均負載表示 系統平均負載被定義為在特定時間間隔內運行隊列中(在CPU上運 ...
load average 的含義
平均負載(load average)是指系統的運行隊列的平均利用率,也可以認為是可運行進程的平均數。
top命令中load average顯示的是最近1分鐘、5分鐘和15分鐘的系統平均負載。系統平均負載表示
系統平均負載被定義為在特定時間間隔內運行隊列中(在CPU上運行或者等待運行多少進程)的平均進程數。如果一個進程滿足以下條件則其就會位於運行隊列中:
- 它沒有在等待I/O操作的結果
- 它沒有主動進入等待狀態(也就是沒有調用’wait’)
- 沒有被停止(例如:等待終止)
很多人會這樣理解負載均值:三個數分別代表不同時間段的系統平均負載(一分鐘、五 分鐘、以及十五分鐘),它們的數字當然是越小越好。數字越高,說明伺服器的負載越 大,這也可能是伺服器出現某種問題的信號。
而事實不完全如此,是什麼因素構成了負載均值的大小,以及如何區分它們目前的狀況是 “好”還是“糟糕”?什麼時候應該註意哪些不正常的數值?
回答這些問題之前,首先需要瞭解下這些數值背後的些知識。我們先用最簡單的例子說明, 一臺只配備一塊單核處理器的伺服器。
以路況為例, 單核CPU、單車道 情況如下:
• 0.00-1.00 之間的數字表示此時路況非常良好,沒有擁堵,車輛可以毫無阻礙地通過。
• 1.00 表示道路還算正常,但有可能會惡化並造成擁堵。此時系統已經沒有多餘的資源了,管理員需要進行優化。
• 1.00-*** 表示路況不太好了,如果到達2.00表示有橋上車輛一倍數目的車輛正在等待。這種情況你必須進行檢查了。
多核CPU - 多車道 情況如下: