Chan Chen Coding...

          top命令的Load average 含義及性能參考基值

          $ uptime
          11:12:26 up 3:44, 4 users, load average: 0.38, 0.31, 0.19

          系統(tǒng)平均負(fù)載被定義為在特定時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程樹。如果一個(gè)進(jìn)程滿足以下條件則其就會(huì)位于運(yùn)行隊(duì)列中:

          • 它沒有在等待I/O操作的結(jié)果
          • 它沒有主動(dòng)進(jìn)入等待狀態(tài)(也就是沒有調(diào)用'wait')
          • 沒有被停止(例如:等待終止)

          上面的輸出,load average后面分別是1分鐘、5分鐘、15分鐘的負(fù)載情況。數(shù)據(jù)是每隔5秒鐘檢查一次活躍的進(jìn)程數(shù),然后根據(jù)這個(gè)數(shù)值算出來的。如果這個(gè)數(shù)除以CPU 的數(shù)目,結(jié)果高于5的時(shí)候就表明系統(tǒng)在超負(fù)荷運(yùn)轉(zhuǎn)了。


           
          Linux系統(tǒng)Load average負(fù)載詳細(xì)解釋   我們知道判斷一個(gè)系統(tǒng)的負(fù)載可以使用top,uptime等命令去查看,它分別記錄了一分鐘、五分鐘、以及十五分鐘的系統(tǒng)平均負(fù)載
            例如我的某臺(tái)服務(wù)器:
            $ uptime
            09:50:21 up 200 days, 15:07, 1 user, load average: 0.27, 0.33, 0.37
            大部分的人都認(rèn)為這個(gè)數(shù)字越小越好,其實(shí)有很多關(guān)聯(lián)的提示信息,今天看到這個(gè)好文,應(yīng)該可以給大家說清楚很多問題,轉(zhuǎn)一下:
            原文鏈接: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages
            你可能對(duì)于 Linux 的負(fù)載均值(load averages)已有了充分的了解。負(fù)載均值在 uptime 或者 top 命令中可以看到,它們可能會(huì)顯示成這個(gè)樣子:
            load average: 0.09, 0.05, 0.01
            很多人會(huì)這樣理解負(fù)載均值:三個(gè)數(shù)分別代表不同時(shí)間段的系統(tǒng)平均負(fù)載(一分鐘、五 分鐘、以及十五分鐘),它們的數(shù)字當(dāng)然是越小越好。數(shù)字越高,說明服務(wù)器的負(fù)載越 大,這也可能是服務(wù)器出現(xiàn)某種問題的信號(hào)。
            而事實(shí)不完全如此,是什么因素構(gòu)成了負(fù)載均值的大小,以及如何區(qū)分它們目前的狀況是 “好”還是“糟糕”?什么時(shí)候應(yīng)該注意哪些不正常的數(shù)值?
            回答這些問題之前,首先需要了解下這些數(shù)值背后的些知識(shí)。我們先用最簡單的例子說明, 一臺(tái)只配備一塊單核處理器的服務(wù)器。
            行車過橋
            一只單核的處理器可以形象得比喻成一條單車道。設(shè)想下,你現(xiàn)在需要收取這條道路的過橋 費(fèi) — 忙于處理那些將要過橋的車輛。你首先當(dāng)然需要了解些信息,例如車輛的載重、以及 還有多少車輛正在等待過橋。如果前面沒有車輛在等待,那么你可以告訴后面的司機(jī)通過。 如果車輛眾多,那么需要告知他們可能需要稍等一會(huì)。
            因此,需要些特定的代號(hào)表示目前的車流情況,例如:
            0.00 表示目前橋面上沒有任何的車流。 實(shí)際上這種情況與 0.00 和 1.00 之間是相同的,總而言之很通暢,過往的車輛可以絲毫不用等待的通過。
            1.00 表示剛好是在這座橋的承受范圍內(nèi)。 這種情況不算糟糕,只是車流會(huì)有些堵,不過這種情況可能會(huì)造成交通越來越慢。
            超過 1.00,那么說明這座橋已經(jīng)超出負(fù)荷,交通嚴(yán)重的擁堵。 那么情況有多糟糕? 例如 2.00 的情況說明車流已經(jīng)超出了橋所能承受的一倍,那么將有多余過橋一倍的車輛正在焦急的等待。3.00 的話情況就更不妙了,說明這座橋基本上已經(jīng)快承受不了,還有超出橋負(fù)載兩倍多的車輛正在等待。
            上面的情況和處理器的負(fù)載情況非常相似。一輛汽車的過橋時(shí)間就好比是處理器處理某線程 的實(shí)際時(shí)間。Unix 系統(tǒng)定義的進(jìn)程運(yùn)行時(shí)長為所有處理器內(nèi)核的處理時(shí)間加上線程 在隊(duì)列中等待的時(shí)間。
            和收過橋費(fèi)的管理員一樣,你當(dāng)然希望你的汽車(操作)不會(huì)被焦急的等待。所以,理想狀態(tài) 下,都希望負(fù)載平均值小于 1.00 。當(dāng)然不排除部分峰值會(huì)超過 1.00,但長此以往保持這 個(gè)狀態(tài),就說明會(huì)有問題,這時(shí)候你應(yīng)該會(huì)很焦急。
            “所以你說的理想負(fù)荷為 1.00 ?”
            嗯,這種情況其實(shí)并不完全正確。負(fù)荷 1.00 說明系統(tǒng)已經(jīng)沒有剩余的資源了。在實(shí)際情況中 ,有經(jīng)驗(yàn)的系統(tǒng)管理員都會(huì)將這條線劃在 0.70:
            “需要進(jìn)行調(diào)查法則”: 如果長期你的系統(tǒng)負(fù)載在 0.70 上下,那么你需要在事情變得更糟糕之前,花些時(shí)間了解其原因。
            “現(xiàn)在就要修復(fù)法則”:1.00 。 如果你的服務(wù)器系統(tǒng)負(fù)載長期徘徊于 1.00,那么就應(yīng)該馬上解決這個(gè)問題。否則,你將半夜接到你上司的電話,這可不是件令人愉快的事情。
            “凌晨三點(diǎn)半鍛煉身體法則”:5.00。 如果你的服務(wù)器負(fù)載超過了 5.00 這個(gè)數(shù)字,那么你將失去你的睡眠,還得在會(huì)議中說明這情況發(fā)生的原因,總之千萬不要讓它發(fā)生。


          -----------------------------------------------------
          Silence, the way to avoid many problems;
          Smile, the way to solve many problems;

          posted on 2013-05-23 17:47 Chan Chen 閱讀(338) 評(píng)論(0)  編輯  收藏 所屬分類: Linux

          主站蜘蛛池模板: 尉犁县| 东明县| 镇安县| 十堰市| 淮阳县| 泰顺县| 当雄县| 徐闻县| 晋州市| 封丘县| 钦州市| 赤城县| 沅陵县| 新兴县| 科技| 乌兰察布市| 弥勒县| 清水河县| 泸州市| 永兴县| 黄冈市| 阳山县| 来安县| 尤溪县| 屏南县| 大城县| 腾冲县| 巫溪县| 聊城市| 万荣县| 伊吾县| 许昌县| 恭城| 仁寿县| 定州市| 泌阳县| 阳原县| 公主岭市| 封开县| 定边县| 化德县|