主頁 > 知識庫 > 通過Linux命令查看系統(tǒng)平均負(fù)載的方法

通過Linux命令查看系統(tǒng)平均負(fù)載的方法

熱門標(biāo)簽:硅谷的囚徒呼叫中心 百度競價點擊價格的計算公式 美團(tuán) 外呼系統(tǒng) 服務(wù)器配置 解決方案 電話機(jī)器人搭建 家政服務(wù)網(wǎng)絡(luò)

1、Linux系統(tǒng)的平均負(fù)載的概念

有時候我們會覺得系統(tǒng)響應(yīng)很慢,但是又找不到原因,這時就要查看平均負(fù)載了,看它是否有大量的進(jìn)程在排隊等待。特定時間間隔內(nèi)運行隊列中的平均進(jìn)程數(shù)可以反映系統(tǒng)的繁忙程度,所以我們通常會在自己的網(wǎng)站或系統(tǒng)變慢時第一時間查系統(tǒng)的負(fù)載,即CPU的平均負(fù)載。

2、查看平均負(fù)載

究竟應(yīng)該如何查看平均負(fù)載呢?最簡單的命令是uptime,如下所示:

   

復(fù)制代碼
代碼如下:
[root@localhost ~]# uptime
11:31:11 up 11 days, 19:01, 2 users, load average: 0.02, 0.01, 0.00

目前的主流服務(wù)器都是雙四核,有相當(dāng)強(qiáng)悍的CPU,做一般的應(yīng)用服務(wù)的話,Linux系統(tǒng)的負(fù)載這塊倒不用我們擔(dān)心。

還可以用w命令來查看,順便可以查看一下系統(tǒng)當(dāng)前有哪些用戶,他們占用了哪些終端,如下所示:

   

復(fù)制代碼
代碼如下:
[root@localhost ~]# w
11:33:00 up 11 days, 19:03, 2 users, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@  IDLE  JCPU  PCPU WHAT
root pts/1113.57.224.3 09:032:11m 0.04s 0.04s -bash
root pts/2113.57.224.3 11:310.00s 0.02s 0.00s w

另外,還有動態(tài)命令top,這個命令也可以反映系統(tǒng)負(fù)載情況。在下面的命令提示中,我們只關(guān)心加粗字體部分。

  

復(fù)制代碼
代碼如下:
[root@localhost ~]# top
top - 11:37:47 up 11 days, 19:08, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 122 total,  1 running, 121 sleeping,  0 stopped,  0 zombie
Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.9%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem:  4044136k total, 1435504k used, 2608632k free,  274740k buffers
Swap: 8193140k total,0k used, 8193140k free,  941884k cached

上面加粗字體顯示的內(nèi)容是什么意思呢?再通過uptime查看一下。

   

復(fù)制代碼
代碼如下:
[root@localhost ~]# uptime
11:39:36 up 11 days, 19:16, 1 user, load average: 0.09, 0.03, 0.01

原來它所表示的是過去的1分鐘、5分鐘和15分鐘內(nèi)進(jìn)程隊列中的平均進(jìn)程數(shù)量。

那么,如何衡量當(dāng)前系統(tǒng)是否負(fù)載過高呢?可以從以下幾點來考慮。

如果每個CPU(可以按CPU核心的數(shù)量計算)當(dāng)前的活動進(jìn)程數(shù)不大于3,則系統(tǒng)性能良好。

如果每個CPU當(dāng)前的活動進(jìn)程數(shù)不大于4,表示可以接受。

如果每個CPU當(dāng)前的活動進(jìn)程數(shù)大于5,則系統(tǒng)性能問題嚴(yán)重。

還可以結(jié)合vmstat命令來判斷我們的系統(tǒng)是否過于繁忙,如果確定很繁忙的話,就要考慮是否更換服務(wù)器或增加CPU的個數(shù)了??偨Y(jié)如下:

如果r經(jīng)常大于3或4,且id經(jīng)常少于50,則表示CPU的負(fù)荷很重。

在上面例子中,我的服務(wù)器是PowerEdge 2850,CPU是雙核雙線程的,則0.09/2=0.045(即負(fù)載值/真實CPU個數(shù)),此系統(tǒng)的CPU負(fù)載基本可以忽略了。事實上,現(xiàn)在主流服務(wù)器 的CPU都很強(qiáng)悍,如果不是應(yīng)用虛擬化等特殊場景,基本上負(fù)載都很小。

按照前面的計算公式,我所配置Nagios報警的CPU負(fù)載閾值 為CPU核心的數(shù)量(即CPU的物理個數(shù)×核數(shù))。還是以我的服務(wù)器PowerEdge 2850為例,其CPU核心的數(shù)量為2×2=4,則設(shè)置報警值為4。這樣設(shè)置是合理的,因為畢竟不是每個應(yīng)用服務(wù)器的CPU都支持多核心,畢竟整個網(wǎng)站中 還有些性能比較弱的服務(wù)器是用來做備份的。

標(biāo)簽:韶關(guān) 臨沂 防城港 南昌 北海 撫州 烏蘭察布 邢臺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《通過Linux命令查看系統(tǒng)平均負(fù)載的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266