TOP命令 详解CPU 查看多个核心的利用率按1
top命令是linux下常用的工具,可以查看各個(gè)進(jìn)程的CPU使用情況。先看一個(gè)實(shí)例:
這是Ramnode雙核VPS的top顯示結(jié)果:
左上角可以看到CPU的使用率是11.3%,但是看下面的進(jìn)程,plugin-containe就占用了17.6%。出現(xiàn)這樣的情況是因?yàn)?1.3%指的是所有核心的占用情況,17.6%指的是運(yùn)行當(dāng)前進(jìn)程的核心的使用率。有時(shí)候可以看到某個(gè)進(jìn)程的使用率已經(jīng)達(dá)到100%了,但是top顯示的也只有50%而已。下面我們來(lái)做一個(gè)測(cè)試:
使用的命令是:
| md5sum /dev/zero & |
執(zhí)行上面命令的核心使用率超過(guò)了90%,左上角顯示的CPU使用率只有50%多
在top窗口中,按數(shù)字鍵“1”就可以看到每個(gè)核心的使用情況。
?
?
?
殺掉MD5sum進(jìn)程 用 kill pid即可
?
關(guān)于vmstat,top,ps aux查看的cpu占用率不一致的問(wèn)題
op,ps,vmstat都是根據(jù)系統(tǒng)的proc文件進(jìn)行計(jì)算的,其中vmstat,top都使用了/proc/stat文件,而ps,top也使用了/proc/*/stat文件進(jìn)行計(jì)算。
1.vmstat對(duì)于cpu idle的計(jì)算方式比較復(fù)雜,但是顯示的為平均值,即使用cpu使用時(shí)間片的差值/時(shí)間間隔/cpu個(gè)數(shù)(為物理cpu數(shù)目*cpu核心數(shù)),其中時(shí)間間隔為vmstat后加的參數(shù),如vmstat 10就為10s內(nèi)的平均cpu 占用率;
2.ps計(jì)算的為每個(gè)進(jìn)程的cpu占用時(shí)間,使用的為/proc/*/stat文件,其中*為進(jìn)程號(hào),計(jì)算方式為使用cpu總的時(shí)間片數(shù)/Hertz,目前確認(rèn)為對(duì)于每個(gè)物理cpu的占用比率,因此在雙核機(jī)器上顯示的數(shù)值需要除以核心數(shù)2;
3.top使用的是/proc/stat計(jì)算上面顯示的cpu占用,使用/proc/*/stat計(jì)算每個(gè)進(jìn)程占用的時(shí)間。但是計(jì)算的方式有所不同,代碼較為復(fù)雜,但是目前確認(rèn)為默認(rèn)顯示為Irix模式,即為相對(duì)于單個(gè)cpu core的占用的時(shí)間,如雙核機(jī)器需要將該數(shù)值除以2*2計(jì)算,通過(guò) shift+i可以進(jìn)行切換;
通過(guò)上述說(shuō)明可以解釋珺方發(fā)現(xiàn)的問(wèn)題:
問(wèn)題1:首先,ps aux中兩個(gè)compress進(jìn)程占用cpu 15.5%+28.9%>40%,再加上其它進(jìn)程,為何vmstat查看cpu空閑率id還能一直大于73%
ps的cpu占用率需要除以雙核cpu數(shù)目為2,因此實(shí)際占用為(15.5%+28.9% )/2=22.2% ,也就約等于100%-73%;
問(wèn)題2:其次,top命令顯示的進(jìn)程compress的cpu占用率和ps顯示的數(shù)值差別很大,ps的cpu占用率雷打不動(dòng),一直是恒定值,top的比較動(dòng)態(tài), 難道ps aux顯示的進(jìn)程cpu占用率不可靠?
ps和top相差的數(shù)值為2倍關(guān)系,因此顯示的占用率相差很大,同時(shí)變化率也會(huì)較大;
問(wèn)題3:最后,這三個(gè)命令查出的cpu占用率相互之間均不統(tǒng)一,用哪一個(gè)更可靠?例如輸入如下命令,粗體字是cpu占用率
這三個(gè)命令的占用率是統(tǒng)一的,按照如下公式進(jìn)行計(jì)算時(shí)數(shù)據(jù)是一致的:
vmstat 的100%-idle == ps的cpu占用/cpu核心數(shù) == top的cpu占用/cpu核心數(shù)/物理cpu數(shù)目;
?
轉(zhuǎn)載于:https://www.cnblogs.com/AmilyWilly/p/7016319.html
總結(jié)
以上是生活随笔為你收集整理的TOP命令 详解CPU 查看多个核心的利用率按1的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: “3遍读书法” 我是这样自学编程的
- 下一篇: 《 自动化测试最佳实践:来自全球的经典自