1. 程式人生 > >Linux top裡面%CPU和us%的解釋

Linux top裡面%CPU和us%的解釋

我們有時會把%CPU和us%搞暈,也就是下圖所示在top的時候檢視cpu的資訊。

 

這時有人會問:這兩個CPU到底哪個是對的。

其實都是對的,只是表達的意思不一樣。

官方解釋如下

Cpu(s):34.0% us: 使用者空間佔用CPU百分比

%CPU:上次更新到現在的CPU時間佔用百分比

讀到這裡我也不是十分理解他們倆的關係,我一直以為%CPU是每個程序佔用的cpu百分比,按理來說所有程序的該值加在一起應該等於us.

但事實並非如此,此時我們可以在top介面按一下1

 

這時候我們可以清晰得看到每個cpu的執行狀態。

通過上面的顯示我們發現Cpu(s)表示的是 所有使用者程序佔用整個cpu的平均值,由於每個核心佔用的百分比不同,所以按平均值來算比較有參考意義。而%CPU顯示的是程序佔用一個核的百分比,而不是整個cpu(12核)的百分比,有時候可能大於100,那是因為該程序啟用了多執行緒佔用了多個核心,所以有時候我們看該值得時候會超過100%,但不會超過總核數*100。