Here is an example from my top:
Cpu(s): 6.0%us, 3.0%sy, 0.0%ni, 78.7%id, 0.0%wa, 0.0%hi, 0.3%si, 12.0%st
I am trying to figure out the significance of the %st field. I read that it means steal cpu and it represents time spent by the hypervisor, but I want to know what that actually means to me.
Does it mean I may be on a busy physical server and someone else is using too much CPU on the server and they are taking from my VM?
If I am using EBS could it be related to handling EBS I/O at the hypervisor level?
Is it related to things running on my VM or is it completely unaffected by me?
The Steal percentage (documented in the
mpstat
man-page) is indeed the hypervisor telling your VM that it can't have CPU resources the VM would otherwise use. This percentage is regulated in part by Amazon's CPU limiting, and VM load on that specific host. I/O load is monitored through the%io
stat.You will see this most often on their
t
class of instances that use a CPU credit model for regulating performance. If you're seeing high percentages, chances are good you're running out of CPU credits.man sar's
Steal load accounts for time when your VM wanted to run something, but the hypervisor chose to run something else instead.
Steal Time or stolen time, mean the amount of time that your host in VM is ready to run (some instruction), but could not do this because other's VM competing for the CPU. When the value get bigger, this is indicate that your vm getting slow or stall. So keep this value as minimum as possible.
Steal time is the percentage of time a virtual CPU (vCPU) has to wait to run on a Physical CPU (pCPU) while the hypervisor is servicing another virtual CPU (vCPU).
full credit to source