理解Linux和其他UNIX-Like系统上的平均负载
理解Linux和其他UNIX-Like系統(tǒng)上的平均負(fù)載
????
?
Linux,Mac以及其他UNIX-like系統(tǒng)都能顯示出“l(fā)oad average”信息。這些數(shù)字告訴你,你系統(tǒng)的CPU、硬盤(pán)、以及其他資源的忙碌程度。他們看起來(lái)很難理解,但是要想熟悉他們其實(shí)非常容易。
無(wú)論你是在用Linux桌面版還是服務(wù)器版,亦或是基于Linux的路由器固件、基于Linux或BSD的網(wǎng)絡(luò)附屬存儲(chǔ)系統(tǒng),甚至是Mac OS X,你隨時(shí)隨地都有可能看到“l(fā)oad average”的度量值。
負(fù)載VS平均負(fù)載
在UNIX-like系統(tǒng)上,包括Linux系統(tǒng),系統(tǒng)負(fù)載是用來(lái)評(píng)估系統(tǒng)執(zhí)行了多少工作的度量,這種度量是用數(shù)字顯示出來(lái)的。一臺(tái)完全處于空閑狀態(tài)的計(jì)算機(jī),其平均負(fù)載為0。每一個(gè)處于運(yùn)行狀態(tài)的進(jìn)程,不管它是正在使用還是在等待CPU資源,都會(huì)給平均負(fù)載加1。所以如果你的系統(tǒng)的平均負(fù)載是5,說(shuō)明有5個(gè)進(jìn)程正在使用或等待CPU。
傳統(tǒng)的UNIX系統(tǒng)一般僅對(duì)等待CPU的進(jìn)程計(jì)數(shù),但是Linux也把等待其他資源的進(jìn)程一并計(jì)數(shù)進(jìn)去。例如那些正在等待讀寫(xiě)硬盤(pán)的進(jìn)程。
就其本身而言,負(fù)載參數(shù)并不意味著什么,若一些進(jìn)程在使用CPU,那么計(jì)算機(jī)在一瞬間可能負(fù)載為0,而在另一瞬間又可能負(fù)載為5,。即使你在任何給定時(shí)刻都能知道負(fù)載數(shù)目,這些數(shù)字基本上也沒(méi)有什么意義。
這就是UNIX-like系統(tǒng)不顯示當(dāng)前時(shí)刻負(fù)載的原因。它們使用平均負(fù)載——在幾個(gè)時(shí)間周期內(nèi),計(jì)算機(jī)負(fù)載的平均值。這些會(huì)告訴你,你的計(jì)算機(jī)到底執(zhí)行了多少工作。
查看平均負(fù)載
平均負(fù)載可以顯示在不同的圖形以及終端工具上,包括命令行以及gnome系統(tǒng)監(jiān)視工具。其實(shí),查看你的平均負(fù)載最簡(jiǎn)單、最標(biāo)準(zhǔn)的方式是在終端里運(yùn)行“uptime”命令。這個(gè)命令顯示了你計(jì)算機(jī)的平均負(fù)載,還有計(jì)算機(jī)已經(jīng)開(kāi)啟的時(shí)間。
uptime命令可以運(yùn)行在Linux,Mac OS X或者是其他UNIX-like系統(tǒng)中。如果你使用的Linux或基于BSD的設(shè)備有一個(gè)web界面——例如DD-WRT路由固件或NAS系統(tǒng)——你將有可能在狀態(tài)頁(yè)面上看到平均負(fù)載信息。
理解平均負(fù)載
你第一眼看到平均負(fù)載,這數(shù)字看起來(lái)完全沒(méi)有意義。下面是一個(gè)平均負(fù)載的輸出示例
load average: 1.05, 0.70, 5.09
從左到右,這些數(shù)字展示給你過(guò)去1分鐘、過(guò)去5分鐘、過(guò)去15分鐘的平均負(fù)載。換句話說(shuō),上面的輸出意思是:
過(guò)去1分鐘平均負(fù)載:1.05
過(guò)去5分鐘平均負(fù)載:0.70
過(guò)去15分鐘平均負(fù)載:5.09
省略輸出時(shí)間周期是為了節(jié)省空間,只要你熟悉了時(shí)間周期,你可以迅速的掃一遍平均負(fù)載數(shù)并且理解他們意味著什么。
確切的講,這些數(shù)字到底意味著什么
讓我們使用上面的數(shù)字來(lái)理解平均負(fù)載的實(shí)際意義。假設(shè)你使用的是單處理器系統(tǒng),這些數(shù)字將會(huì)告訴我們:
在過(guò)去的1分鐘里:計(jì)算機(jī)平均過(guò)載5%。平均來(lái)說(shuō),.05個(gè)進(jìn)程正在等待CPU。(1.05)
在過(guò)去的5分鐘里:CPU 30%的時(shí)間保持空閑。(0.70)
在過(guò)去的15分鐘里:計(jì)算機(jī)平均過(guò)載409%。平均來(lái)說(shuō),4.09的進(jìn)程正在等待CPU。(5.09)
你的系統(tǒng)也許有多個(gè)CPU,或者有多核CPU。那么平均負(fù)載就會(huì)有一點(diǎn)不同。例如,如果你在單處理器系統(tǒng)上的平均負(fù)載是2,這意味著你的系統(tǒng)過(guò)載了100%——在整個(gè)時(shí)間周期里,當(dāng)一個(gè)進(jìn)程在使用CPU時(shí),另一個(gè)進(jìn)程在等待CPU。然而在有兩個(gè)CPU的系統(tǒng)上,這正好表示資源完全使用——再整個(gè)時(shí)間周期里,兩個(gè)不同的進(jìn)程在使用兩個(gè)不同的CPU。在四個(gè)CPU的系統(tǒng)上,這表明資源使用量是一半——兩個(gè)進(jìn)程使用兩個(gè)CPU,另外兩個(gè)CPU空閑。
要想理解平均負(fù)載數(shù)字的意義,你需要知道你的系統(tǒng)有多少個(gè)CPU,平均負(fù)載6.03意味著單CPU系統(tǒng)過(guò)載嚴(yán)重,但是在8個(gè)CPU的系統(tǒng)上卻表示運(yùn)行良好。
IEPL專線是采用時(shí)分復(fù)用技術(shù)(TDM),利用數(shù)字信道提供永久或半永久性的以數(shù)字信號(hào)為主的數(shù)字網(wǎng)絡(luò)。它是一種純物理層、半永久性的網(wǎng)絡(luò),也就是說(shuō)它只負(fù)責(zé)把數(shù)據(jù)從A點(diǎn)傳送到B點(diǎn),而不管數(shù)據(jù)被封裝成何種形式。
平均負(fù)載在服務(wù)器和嵌入式系統(tǒng)上非常有用,你可以掃視一遍來(lái)確定你系統(tǒng)的運(yùn)行狀態(tài)。如果過(guò)載了,你也許需要處理一下那些浪費(fèi)資源的進(jìn)程,多提供一些硬件資源,或者是把一些工作轉(zhuǎn)移到另一個(gè)系統(tǒng)上。
總結(jié)
以上是生活随笔為你收集整理的理解Linux和其他UNIX-Like系统上的平均负载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: erc20和trc20的区别
- 下一篇: Linux命令如何显示光标