qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          查看Linux系統的平均負載

          查看Linux系統的平均負載


          1、Linux系統的平均負載的概念

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

            2、查看平均負載

            究竟應該如何查看平均負載呢?最簡單的命令是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.   目前的主流服務器都是雙四核,有相當強悍的CPU,做一般的應用服務的話,Linux系統的負載這塊倒不用我們擔心。

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

        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.   另外,還有動態命令top,這個命令也可以反映系統負載情況。在下面的命令提示中,我們只關心加粗字體部分。

        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.   上面加粗字體顯示的內容是什么意思呢?再通過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分鐘內進程隊列中的平均進程數量。

            那么,如何衡量當前系統是否負載過高呢?可以從以下幾點來考慮。

            如果每個CPU(可以按CPU核心的數量計算)當前的活動進程數不大于3,則系統性能良好。

            如果每個CPU當前的活動進程數不大于4,表示可以接受。

            如果每個CPU當前的活動進程數大于5,則系統性能問題嚴重。

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

            如果r經常大于3或4,且id經常少于50,則表示CPU的負荷很重。

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

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

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


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


          網站導航:
           
          <2011年11月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 平阴县| 漠河县| 张北县| 龙岩市| 晋州市| 改则县| 清河县| 周宁县| 格尔木市| 大同市| 闻喜县| 图木舒克市| 广汉市| 马山县| 宁乡县| 永城市| 南昌县| 石狮市| 芦溪县| 通榆县| 霍林郭勒市| 麻阳| 洪雅县| 锡林浩特市| 河北省| 嘉祥县| 万年县| 锦屏县| 湘阴县| 定边县| 凤阳县| 高陵县| 合作市| 方城县| 马边| 阜新市| 瑞昌市| 海伦市| 大兴区| 阿坝| 酒泉市|