日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

你不一定懂的cpu显示信息

發(fā)布時(shí)間:2025/3/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 你不一定懂的cpu显示信息 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

在使用top命令的時(shí)候會(huì)看到這么一行:

里面的各個(gè)值分別是什么意思呢?

今天被問到這個(gè)問題,發(fā)現(xiàn)答的不是很清楚。果然啊,天天用最多的top命令都還沒摸透。。。慚愧。。。于是就查了些資料:

官方解釋

Cpu(s)表示的是cpu信息。各個(gè)值的意思是:

us: user cpu time (or) % CPU time spent in user space

sy: system cpu time (or) % CPU time spent in kernel space

ni: user nice cpu time (or) % CPU time spent on low priority processes

id: idle cpu time (or) % CPU time spent idle

wa: io wait cpu time (or) % CPU time spent in wait (on disk)

hi: hardware irq (or) % CPU time spent servicing/handling hardware interrupts

si: software irq (or) % CPU time spent servicing/handling software interrupts

st: steal time - - % CPU time in involuntary wait by virtual cpu while hypervisor is servicing another processor (or) % CPU time stolen from a virtual machine

?

翻譯一下:

us:用戶態(tài)使用的cpu時(shí)間比

sy:系統(tǒng)態(tài)使用的cpu時(shí)間比

ni:用做nice加權(quán)的進(jìn)程分配的用戶態(tài)cpu時(shí)間比

id:空閑的cpu時(shí)間比

wa:cpu等待磁盤寫入完成時(shí)間

hi:硬中斷消耗時(shí)間

si:軟中斷消耗時(shí)間

st:虛擬機(jī)偷取時(shí)間

?

好了,如果說列出上面的條條框框說我懂了,那真是自欺欺人了。下面是我自己的理解

首先這個(gè)百分比是怎么算出來的呢?

比如一秒內(nèi)有100個(gè)cpu時(shí)間片,這個(gè)cpu時(shí)間片就是cpu工作的最小單位。那么這100個(gè)cpu時(shí)間片在不同的區(qū)域和目的進(jìn)行操作使用,就代表這個(gè)區(qū)域所占用的cpu時(shí)間比。也就是這里得出的cpu時(shí)間百分比。

比如下面一個(gè)程序:

將文件從磁盤的src位置拷貝到磁盤的dst位置。文件會(huì)從src先讀取進(jìn)入到內(nèi)核空間,然后再讀取到用戶空間,然后拷貝數(shù)據(jù)到用戶空間的buf上,再通過用戶空間,內(nèi)核空間,數(shù)據(jù)才到磁盤的dst上。

?

所以從上面這個(gè)程序來看,cpu消耗在kernel space的時(shí)候就是sy(系統(tǒng)態(tài)使用的cpu百分比),cpu消耗在user space的時(shí)候就是us(用戶態(tài)使用的cpu百分比)。

好了,下面說說hi和si

如果程序都沒什么問題,那么是沒有hi和si的,但是實(shí)際上有個(gè)硬中斷和軟中斷的概念。比如硬中斷,cpu在執(zhí)行程序的時(shí)候,突然外設(shè)硬件(比如硬盤出現(xiàn)問題了)機(jī)器需要立刻通知cpu進(jìn)行現(xiàn)場(chǎng)保存工作。這個(gè)時(shí)候會(huì)cpu會(huì)出現(xiàn)上下文切換。就是cpu會(huì)有一部分時(shí)間會(huì)被硬中斷占用了,這個(gè)時(shí)間就是hi。相類似,si是軟中斷的cpu占用時(shí)間,軟中斷是由軟件的指令方式觸發(fā)的。

相關(guān)軟中斷和硬中斷的概念可以參考:

http://blog.csdn.net/pxz_002/article/details/7327668

下面是ni

ni是nice的意思,nice是什么呢,每個(gè)linux進(jìn)程都有個(gè)優(yōu)先級(jí),優(yōu)先級(jí)高的進(jìn)程有優(yōu)先執(zhí)行的權(quán)利,這個(gè)叫做pri。進(jìn)程除了優(yōu)先級(jí)外,還有個(gè)優(yōu)先級(jí)的修正值。即比如你原先的優(yōu)先級(jí)是20,然后修正值為-2,那么你最后的進(jìn)程優(yōu)先級(jí)為18。這個(gè)修正值就叫做進(jìn)程的nice值。

?

那么nice是一個(gè)進(jìn)程的優(yōu)先級(jí)修正值,為什么會(huì)占用cpu時(shí)間呢?

ni是指用做nice加權(quán)的進(jìn)程使用的用戶態(tài)cpu時(shí)間比,我的理解就是一個(gè)進(jìn)程的所謂修正值就意味著多分配一些cpu時(shí)間給這個(gè)進(jìn)程的用戶態(tài),這個(gè)中間所多分配的cpu時(shí)間就是我們這里的ni。(這個(gè)理解沒啥把握,如果有錯(cuò)誤麻煩幫忙指出下)

下面是wa

wa指的是CPU等待磁盤寫入完成的時(shí)間,就是說前提是要進(jìn)行IO操作,在進(jìn)行IO操作的時(shí)候,CPU等待時(shí)間。比如上面那個(gè)程序,最后一步,從系統(tǒng)空間到dst硬盤空間的時(shí)候,如果程序是阻塞的,那么這個(gè)時(shí)候cpu就要等待數(shù)據(jù)寫入磁盤才能完成寫操作了。所以這個(gè)時(shí)候cpu等待的時(shí)間就是wa。

所以如果一臺(tái)機(jī)器看到wa特別高,那么一般說明是磁盤IO出現(xiàn)問題,可以使用iostat等命令繼續(xù)進(jìn)行詳細(xì)分析。

下面是st

st的名字很生動(dòng),偷取。。。是專門對(duì)虛擬機(jī)來說的,一臺(tái)物理是可以虛擬化出幾臺(tái)虛擬機(jī)的。在其中一臺(tái)虛擬機(jī)上用top查看發(fā)現(xiàn)st不為0,就說明本來有這么多個(gè)cpu時(shí)間是安排給我這個(gè)虛擬機(jī)的,但是由于某種虛擬技術(shù),把這個(gè)cpu時(shí)間分配給了其他的虛擬機(jī)了。這就叫做偷取。

id

剩下的id就是除了上面那么多cpu處理上下文以外的cpu時(shí)間片。當(dāng)然在這些時(shí)間片上,cpu是空閑的。

top的所有這些cpu時(shí)間應(yīng)該是相加為100%的。

dstat

題外話,有個(gè)dstat命令也是可以查看cpu的信息的。下圖就是dstat -c的顯示

其中可以很容易將usr和us,sys和sy,idl和id,wai和wa,hig和hi,siq和si對(duì)應(yīng)起來

但是可以觀察到dstat是沒有st,ni的統(tǒng)計(jì)的,而且它的所有部分加起來總和可能沒有100,這就說明dstat實(shí)際是沒有對(duì)st,ni做cpu統(tǒng)計(jì)的。使用的時(shí)候要注意下這個(gè)。

參考文章:

http://hi.baidu.com/higkoo/item/70600834426247483075a1df

http://blog.csdn.net/codestinity/article/details/7496962

http://book.51cto.com/art/200812/99435.htm

http://unix.stackexchange.com/questions/18918/in-linux-top-command-what-are-us-sy-ni-id-wa-hi-si-and-st-for-cpu-usage



轉(zhuǎn)載于:https://my.oschina.net/goopand/blog/465997

總結(jié)

以上是生活随笔為你收集整理的你不一定懂的cpu显示信息的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。