qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          查看Linux系統(tǒng)的平均負(fù)載

          查看Linux系統(tǒng)的平均負(fù)載


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

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

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

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

        1. [root@localhost ~]# uptime  
        2.  11:31:11 up 11 days, 19:01, 2 users, load average: 0.02, 0.01, 0.00
        3.   目前的主流服務(wù)器都是雙四核,有相當(dāng)強(qiáng)悍的CPU,做一般的應(yīng)用服務(wù)的話,Linux系統(tǒng)的負(fù)載這塊倒不用我們擔(dān)心。

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

        4. [root@localhost ~]# w  
        5.  11:33:00 up 11 days, 19:03, 2 users, load average: 0.00, 0.00, 0.00  
        6. USER TTY FROM LOGIN@  IDLE  JCPU  PCPU WHAT  
        7. root pts/1113.57.224.3 09:032:11m 0.04s 0.04s -bash  
        8. root pts/2113.57.224.3 11:310.00s 0.02s 0.00s w
        9.   另外,還有動態(tài)命令top,這個命令也可以反映系統(tǒng)負(fù)載情況。在下面的命令提示中,我們只關(guān)心加粗字體部分。

        10. [root@localhost ~]# top  
        11. top - 11:37:47 up 11 days, 19:08, 2 users, load average: 0.00, 0.00, 0.00  
        12. Tasks: 122 total,  1 running, 121 sleeping,  0 stopped,  0 zombie  
        13. 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  
        14. Mem:  4044136k total, 1435504k used, 2608632k free,  274740k buffers  
        15. Swap: 8193140k total,0k used, 8193140k free,  941884k cached
        16.   上面加粗字體顯示的內(nèi)容是什么意思呢?再通過uptime查看一下。

        17. [root@localhost ~]# uptime  
        18.  11:39:36 up 11 days, 19:16, 1 user, load average: 0.09, 0.03, 0.01
        19.   原來它所表示的是過去的1分鐘、5分鐘和15分鐘內(nèi)進(jìn)程隊(duì)列中的平均進(jìn)程數(shù)量。

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

            如果每個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ù)了。總結(jié)如下:

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

            在上面例子中,我的服務(wù)器是PowerEdge 2850,CPU是雙核雙線程的,則0.09/2=0.045(即負(fù)載值/真實(shí)CPU個數(shù)),此系統(tǒng)的CPU負(fù)載基本可以忽略了。事實(shí)上,現(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àn)楫吘共皇敲總€應(yīng)用服務(wù)器的CPU都支持多核心,畢竟整個網(wǎng)站中還有些性能比較弱的服務(wù)器是用來做備份的。

          posted on 2011-11-28 13:05 順其自然EVO 閱讀(332) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導(dǎo)航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 芜湖县| 新化县| 尉犁县| 乌拉特中旗| 汾阳市| 吉首市| 赞皇县| 奉节县| 黑龙江省| 镇雄县| 颍上县| 罗江县| 股票| 绥中县| 扬中市| 耒阳市| 南丹县| 仲巴县| 故城县| 和硕县| 镇康县| 攀枝花市| 航空| 宝鸡市| 通江县| 南漳县| 牙克石市| 库车县| 盐边县| 河间市| 正安县| 呼和浩特市| 银川市| 宜兴市| 甘孜| 新民市| 沂源县| 阳新县| 称多县| 讷河市| 全南县|