您好,登錄后才能下訂單哦!
理解Linux和其他UNIX-Like系統上的平均負載
Linux,Mac以及其他UNIX-like系統都能顯示出“load average”信息。這些數字告訴你,你系統的CPU、硬盤、以及其他資源的忙碌程度。他們看起來很難理解,但是要想熟悉他們其實非常容易。
無論你是在用Linux桌面版還是服務器版,亦或是基于Linux的路由器固件、基于Linux或BSD的網絡附屬存儲系統,甚至是Mac OS X,你隨時隨地都有可能看到“load average”的度量值。
負載VS平均負載
在UNIX-like系統上,包括Linux系統,系統負載是用來評估系統執行了多少工作的度量,這種度量是用數字顯示出來的。一臺完全處于空閑狀態的計算機,其平均負載為0。每一個處于運行狀態的進程,不管它是正在使用還是在等待CPU資源,都會給平均負載加1。所以如果你的系統的平均負載是5,說明有5個進程正在使用或等待CPU。
傳統的UNIX系統一般僅對等待CPU的進程計數,但是Linux也把等待其他資源的進程一并計數進去。例如那些正在等待讀寫硬盤的進程。
就其本身而言,負載參數并不意味著什么,若一些進程在使用CPU,那么計算機在一瞬間可能負載為0,而在另一瞬間又可能負載為5,。即使你在任何給定時刻都能知道負載數目,這些數字基本上也沒有什么意義。
這就是UNIX-like系統不顯示當前時刻負載的原因。它們使用平均負載——在幾個時間周期內,計算機負載的平均值。這些會告訴你,你的計算機到底執行了多少工作。
查看平均負載
平均負載可以顯示在不同的圖形以及終端工具上,包括命令行以及gnome系統監視工具。其實,查看你的平均負載最簡單、最標準的方式是在終端里運行“uptime”命令。這個命令顯示了你計算機的平均負載,還有計算機已經開啟的時間。
uptime命令可以運行在Linux,Mac OS X或者是其他UNIX-like系統中。如果你使用的Linux或基于BSD的設備有一個web界面——例如DD-WRT路由固件或NAS系統——你將有可能在狀態頁面上看到平均負載信息。
理解平均負載
你第一眼看到平均負載,這數字看起來完全沒有意義。下面是一個平均負載的輸出示例
load average: 1.05, 0.70, 5.09
從左到右,這些數字展示給你過去1分鐘、過去5分鐘、過去15分鐘的平均負載。換句話說,上面的輸出意思是:
過去1分鐘平均負載:1.05
過去5分鐘平均負載:0.70
過去15分鐘平均負載:5.09
省略輸出時間周期是為了節省空間,只要你熟悉了時間周期,你可以迅速的掃一遍平均負載數并且理解他們意味著什么。
確切的講,這些數字到底意味著什么
讓我們使用上面的數字來理解平均負載的實際意義。假設你使用的是單處理器系統,這些數字將會告訴我們:
在過去的1分鐘里:計算機平均過載5%。平均來說,.05個進程正在等待CPU。(1.05)
在過去的5分鐘里:CPU 30%的時間保持空閑。(0.70)
在過去的15分鐘里:計算機平均過載409%。平均來說,4.09的進程正在等待CPU。(5.09)
你的系統也許有多個CPU,或者有多核CPU。那么平均負載就會有一點不同。例如,如果你在單處理器系統上的平均負載是2,這意味著你的系統過載了100%——在整個時間周期里,當一個進程在使用CPU時,另一個進程在等待CPU。然而在有兩個CPU的系統上,這正好表示資源完全使用——再整個時間周期里,兩個不同的進程在使用兩個不同的CPU。在四個CPU的系統上,這表明資源使用量是一半——兩個進程使用兩個CPU,另外兩個CPU空閑。
要想理解平均負載數字的意義,你需要知道你的系統有多少個CPU,平均負載6.03意味著單CPU系統過載嚴重,但是在8個CPU的系統上卻表示運行良好。
平均負載在服務器和嵌入式系統上非常有用,你可以掃視一遍來確定你系統的運行狀態。如果過載了,你也許需要處理一下那些浪費資源的進程,多提供一些硬件資源,或者是把一些工作轉移到另一個系統上。
翻譯自:http://www.howtogeek.com/194642/understanding-the-load-average-on-linux-and-other-unix-like-systems/
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。