CPU steal
在top
工具的性能显示中,有一个字段是%st
。这个st
表示的含义是Steal percentage(可参考man手册中mpstat
)表示hypervisor告知你VM不能使用的CPU资源。
CPU steal time表示虚拟CPU等待物理CPU的时间百分比,这个时间就是hypervisor服务于其他虚拟CPU的时间。
CPU Steal Time Definition
Steal time is the percentage of time a virtual CPU waits for a real CPU while the hypervisor is servicing another virtual processor.
对于使用Paravirtual技术的XEN虚拟机中,vmstat
和top
都支持St
字段来显示XEN从虚拟机应得的CPU时间中"偷走"的时间,这个被偷走的时间在VMWare ESX中被称为ready time
,来反映VM准备运行在物理CPU的时间,而这个CPU时间被分配给了其他任务-通常是另外一个虚拟机。
在guest操作系统中能够看到ST是因为paravirtualized操作系统,例如Xen,内核是针对虚拟化重写的,即paravirtualized Linux内核做了修改以便vmstat和top能够显示虚拟化。
对于
hvm
模式的XEN虚拟机,在虚拟机内部是看不到被hypervisor偷走的时间。
使用vmstat -s
可以显示完整的内存使用和各个类型的CPU使用
参考
Last updated