linux top命令中CPU 佔用說明

前幾天玩虛擬化,發現虛擬機裏面top命令顯示cpu佔用st類型的很高,之前一般st都是0,於是就好奇,進一步挖掘:


Top命令中CPU佔用分別說明如下(參考man top):

us, user    : time running un-niced user processes
sy, system  : time running kernel processes
ni, nice    : time running niced user processes
id, idle    : time spent in the kernel idle handler
wa, IO-wait : time waiting for I/O completion
hi : time spent servicing hardware interrupts
si : time spent servicing software interrupts
st : time stolen from this vm by the hypervisor


st指的是當前VM中的cpu cycle被虛擬化偷走的比例。


舉例來說,一個8 vCPU的物理機,開了4個虛擬機,每個指定的CPU資源都是8個vCPU,當這2個虛擬機都滿負荷跑的時候,那麼top命令裏面st就會很高。


比如我這裏的例子,在物理機上面運行8個死循環實例loop程序,KVM虛擬機裏面配置4個vCPU,運行4個loop程序。


物理機top顯示如下,其中KVM佔用300%(表示虛擬機佔用),物理機CPU佔用全部顯示是us(user)。
 




虛擬機top顯示如下,可以看到us和st分別佔用了不少,us表示運行loop的CPU消耗,st表示被物理機中的實例偷走的CPU佔用。




 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章