linux 系统负载
生活随笔
收集整理的這篇文章主要介紹了
linux 系统负载
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天早上查看服務(wù)器,發(fā)現(xiàn)負(fù)載過(guò)高
10:06:03 up 33 days, 23:33, ?3 users, ?load average: 9.78, 9.88, 10.10
一、警報(bào)信息的三個(gè)參數(shù)到底是什么意思?9.78, 9.88, 10.10分別代表前一分鐘,五分鐘,十五分鐘的平均CPU負(fù)載,最重要的指標(biāo)是最后一個(gè)數(shù)字,即前15分鐘的平均CPU負(fù)載,這個(gè)數(shù)字越小越好。所謂CPU負(fù)載指的是一段時(shí)間內(nèi)任務(wù)隊(duì)列的長(zhǎng)度,通俗的講,就是一段時(shí)間內(nèi)一共有多少任務(wù)在使用或等待使用CPU。
二、除了Nagios,還有哪些工具可以查看CPU負(fù)載?可以使用top命令、uptime命令,特別是top命令,功能強(qiáng)大,不僅僅可以用來(lái)查看CPU負(fù)載。三、CPU負(fù)載怎么理解?是不是CPU利用率?這里要區(qū)別CPU負(fù)載和CPU利用率,它們是不同的兩個(gè)概念,但它們的信息可以在同一個(gè)top命令中進(jìn)行顯示。CPU利用率顯示的是程序在運(yùn)行期間實(shí)時(shí)占用的CPU百分比,而CPU負(fù)載顯示的是一段時(shí)間內(nèi)正在使用和等待使用CPU的平均任務(wù)數(shù)。CPU利用率高,并不意味著負(fù)載就一定大。網(wǎng)上有篇文章舉了一個(gè)有趣比喻,拿打電話來(lái)說(shuō)明兩者的區(qū)別,我按自己的理解闡述一下。某公用電話亭,有一個(gè)人在打電話,四個(gè)人在等待,每人限定使用電話一分鐘,若有人一分鐘之內(nèi)沒(méi)有打完電話,只能掛掉電話去排隊(duì),等待下一輪。電話在這里就相當(dāng)于CPU,而正在或等待打電話的人就相當(dāng)于任務(wù)數(shù)。在電話亭使用過(guò)程中,肯定會(huì)有人打完電話走掉,有人沒(méi)有打完電話而選擇重新排隊(duì),更會(huì)有新增的人在這兒排隊(duì),這個(gè)人數(shù)的變化就相當(dāng)于任務(wù)數(shù)的增減。為了統(tǒng)計(jì)平均負(fù)載情況,我們5秒鐘統(tǒng)計(jì)一次人數(shù),并在第1、5、15分鐘的時(shí)候?qū)y(tǒng)計(jì)情況取平均值,從而形成第1、5、15分鐘的平均負(fù)載。有的人拿起電話就打,一直打完1分鐘,而有的人可能前三十秒在找電話號(hào)碼,或者在猶豫要不要打,后三十秒才真正在打電話。如果把電話看作CPU,人數(shù)看作任務(wù),我們就說(shuō)前一個(gè)人(任務(wù))的CPU利用率高,后一個(gè)人(任務(wù))的CPU利用率低。當(dāng)然, CPU并不會(huì)在前三十秒工作,后三十秒歇著,只是說(shuō),有的程序涉及到大量的計(jì)算,所以CPU利用率就高,而有的程序牽涉到計(jì)算的部分很少,CPU利用率自然就低。但無(wú)論CPU的利用率是高是低,跟后面有多少任務(wù)在排隊(duì)沒(méi)有必然關(guān)系。四、了解了CPU負(fù)載的含義,我們?nèi)绾蝸?lái)降低服務(wù)器的CPU負(fù)載呢?最簡(jiǎn)單辦法的是更換性能更好的服務(wù)器,不要想著僅僅提高CPU的性能,那沒(méi)有用,CPU要發(fā)揮出它最好的性能還需要其它軟硬件的配合。在服務(wù)器其它方面配置合理的情況下,CPU數(shù)量和CPU核心數(shù)(即內(nèi)核數(shù))都會(huì)影響到CPU負(fù)載,因?yàn)槿蝿?wù)最終是要分配到CPU核心去處理的。兩塊CPU要比一塊CPU好,雙核要比單核好。因此,我們需要記住,除去CPU性能上的差異,CPU負(fù)載是基于內(nèi)核數(shù)來(lái)計(jì)算的!有一個(gè)說(shuō)法,“有多少內(nèi)核,即有多少負(fù)載”。五、那么,本文開頭的CPU負(fù)載分擔(dān)到每個(gè)CPU上的負(fù)載是多少呢?那就要看我這臺(tái)服務(wù)器有一共有多少個(gè)內(nèi)核了。Linux里有一個(gè)/proc目錄,存放的是當(dāng)前運(yùn)行系統(tǒng)的虛擬映射,其中有一個(gè)文件為cpuinfo,這個(gè)文件里存放著CPU的信息。我們可以直接打開查看,或者過(guò)濾關(guān)鍵字進(jìn)行查看,因?yàn)槲募?nèi)容比較多,所以一般我們需要過(guò)濾關(guān)鍵字。/proc/cpuinfo文件按邏輯CPU而非真實(shí)CPU分段落顯示信息,每個(gè)邏輯CPU的信息占用一個(gè)段落,第一個(gè)邏輯CPU標(biāo)識(shí)從0開始。我們首先要明白這一點(diǎn),至于什么是邏輯CPU,下面會(huì)提到。要理解該文件中的CPU信息,有幾個(gè)相關(guān)的概念要知道:processor:邏輯CPU的標(biāo)識(shí)model name:真實(shí)CPU的型號(hào)信息physical id:真實(shí)CPU和標(biāo)識(shí)cpu cores:真實(shí)CPU的內(nèi)核數(shù)
$>grep ‘model name’ /proc/cpuinfo |uniq
model name : Intel(R) Xeon(R) CPU ?E7400 ?@ 1.86GHz
$>grep ‘cpu cores’ /proc/cpuinfo |uniq
2
轉(zhuǎn)載于:https://blog.51cto.com/wangyh/1250363
總結(jié)
以上是生活随笔為你收集整理的linux 系统负载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Nginx读取Memcached实现页面
- 下一篇: linux 单独取出本机IP地址