天天看點

mysql load average_監控入門-Linux的平均負載(load average)

近期總被伺服器的平均負載報警騷擾,但是登入到伺服器檢視,卻發現不了問題.是以懷疑負載的門檻值設定不合理.那麼設定多少才合理呢?先來看一下基礎知識.

平均負載是指系統的運作隊列的平均使用率,也可以認為是可運作程序的平均數.

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

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

比如我的伺服器是兩顆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分鐘的平均負載太頻繁,一瞬間的高并發,就會導緻該值的大幅度改變.

結合nagios報警,12核的伺服器計劃做如下報警設定:

check_load –w 36,24,12 –c 60,48,36

以上總結,參考如下:

1. Understanding Linux Load Average

http://prutser.wordpress.com/2012/04/23/understanding-linux-load-average-part-1/

http://prutser.wordpress.com/2012/05/05/understanding-linux-load-average-part-2/

http://prutser.wordpress.com/2012/05/28/understanding-linux-load-average-part-3/

2. Understanding Linux CPU Load - when should you be worried?

http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

http://www.gracecode.com/posts/2973.html(中文翻譯版)

3. wiki

http://en.wikipedia.org/wiki/Load_%28computing%29