天天看點

入門:檢視Linux系統的平均負載

1.平均負載的概念

有時候我們會覺得系統響應很慢,但是又找不到原因,這時就要查平均負載了,看它是否有大量的程序在排隊等待。特定的時間間隔内運作隊列中的平均程序數可以反映系統的繁忙程度,是以我們通常會在自己的網站或系統變慢時第一時間查系統的負載,即cpu的平均負載。

入門:檢視Linux系統的平均負載

20+ excellent hd wallpapers for tech enthusiasts

2.檢視平均負載

究竟應該如何檢視平均負載呢?最簡單的指令是uptime,如下所示:

[root@localhost ~]# uptime  

11:31:11 up 11 days, 19:01,2 users,load average: 0.02, 0.01, 0.00 

目前的主流伺服器都是雙4核,有相當強悍的cpu,做一般的應用服務的話,linux系統的負載這塊倒不用我們擔心。

還可以用w指令來檢視,順便可以檢視一下系統目前有哪些使用者,他們占用了哪些終端,如下所示:

[root@localhost ~]# w  

指令顯示結果如下所示:

11:33:00 up 11 days, 19:03,2 users,load average: 0.00, 0.00, 0.00 user ttyfromlogin@ idle jcpu pcpu what  

root pts/1113.57.224.3 09:032:11m0.04s0.04s -bash  

root pts/2113.57.224.3 11:310.00s0.02s0.00s w  

另外,還有動态指令top,這個指令也可以反映系統負載情況,在下面的指令提示中,我們隻關心加粗字型部分。

[root@localhost ~]# top  

系統會動态地顯示内容,結果如下所示:

top - 15:01:25 up 12 days,3:46,2 users,load average: 1.76, 2.14, 2.20 tasks: 116 total, 1 running, 115 sleeping, 0 stopped, 0 zombie cpu(s): 47.5% us, 14.6% sy,0.0% ni, 37.6% id,0.3% wa,0.1% hi,0.0% si mem: 8180164k total,7673268k used, 506896k free,74592k buffers swap:0k total,0k used,0k free,4613728k cached  

第一行内容正是系統目前的負載情況,再通過uptime檢視一下。

[root@ud50053 ~]# uptime  

結果如下所示:

15:02:50 up 12 days,3:48,2 users,load average: 1.75, 2.07, 2.17 

原來它所表示的是過去的1分鐘、5分鐘和15分鐘内程序隊列中的平均程序數量。

這裡需要注意的是load average這個輸出值,這三個值的大小一般不能大于系統邏輯cpu的個數,例如,本輸出中系統有4個邏輯cpu,如果load average的三個值長期大于4時,說明cpu很繁忙,負載很高,可能會影響系統性能,但是偶爾大于4時,倒不用擔心,一般不會影響系統性能。相反,如果load average的輸出值小于cpu的個數,則表示cpu還有空閑,比如本例中的輸出,cpu是比較空閑的。

這時候可以結合vmstat指令來判斷我們的系統是否過于繁忙,如果确定很繁忙的話,就要考慮是否更換伺服器或增加cpu的個數了。總結如下:

如果r經常大于系統的邏輯cpu個數,且id經常少于50,則表示cpu的負荷很重。 

<b>原文釋出時間為:2013-06-22</b>

<b>本文來自雲栖社群合作夥伴“linux中國”</b>

繼續閱讀