1. 程式人生 > >Linux系統性能監控之平均負載(load average)

Linux系統性能監控之平均負載(load average)

在前面的文章中介紹過使用w命令或uptime命令來檢視Linux系統的平均負載(Load avaerage),那麼平均負載處於什麼狀態算是正常呢?如果要根據平均負載來判斷系統的穩定性,又該如何界定?先來看一下基礎知識。

平均負載是指系統的執行佇列的平均利用率,也可以認為是可執行程序的平均數。

一般的程序需要消耗CPU、記憶體、磁碟I/O、網路I/O等資源,在這種情況下,平均負載就不是單獨指的CPU使用情況。即記憶體、磁碟、網路等因素也可以影響系統的平均負載值。

在單核處理器中,平均負載值為1或者小於1的時候,系統處理程序會非常輕鬆,即負載很低。當達到3的時候,就會顯得很忙,達到5或者8的時候就不能很好的處理程序了(其中5和8目前還是個爭議的閾值,為了保守起見,建議選擇低的)。

舉例說明:

比如我的伺服器是兩顆CPU,每顆CPU有6個核,相當於12核的處理器。

如果負載小於12,說明伺服器利用率較低。

如果負載大於12小於36,說明伺服器利用率比較高,這個時候就應該考慮優化業務或者更換更快的CPU。

如果負載大於36小於60,甚至超過60,則說明該伺服器很危險,隨時可能發生問題。

經過上面的分析,我們用以下命令獲取系統的平均負載值。
# top
# uptime
# w

平均負載值部分如:load average: 0.08, 0.03, 0.00.這些數值是指系統在最後1/5/15分鐘的平均負載.那麼我們判斷負載過高,要以哪個值為準呢?
根據經驗:我們應該把重點放在5/15分鐘的平均負載,因為1分鐘的平均負載太頻繁,一瞬間的高併發就會導致該值的大幅度改變。