6 ms·
> What we see is that somebody, some other VM(s) sharing the same underlying host, is stealing about 30% of the CPU that really belongs to us. That's not how i
by sehrope 13y ago
> What we see is that somebody, some other VM(s) sharing the same underlying host, is stealing about 30% of the CPU that really belongs to us.
That's not how it works. CPU steal time is when the hypervisor stalls your CPU because you're using more than your allotted share. Depending on the hypervisor configuration it could happen either consistently (ex: AWS micro instance) or on demand (ex: whenever your neighbors are actually using their fair share). If your neighbors are not using 100% of their slice of the CPU then you can generally use it yourself[1] but if you can't they're not "stealing" from you. You're just not able to use their unused capacity[2].
[1]: For regular AWS instances, not for micro instances which stall almost immediately when using a lot of CPU. Try a non-trivial compile on a micro instance and see what happens.
[2]: Alternatively, you can look at as they're preventing you from "stealing" from your neighbors when they're not using it.
- lucaspiller 13y agoCould it also be that the hypervisor is allocating more CPU to the other VM as he isn't using 100% of his allocated share (note that he said that the VM isn't very CPU intensive)? If his was using 100% of the allocated share then the other VM would be throttled back.
- maffydub 13y agoI believe that steal only records the percentage of time that your VM wanted to use the CPU but couldn't. If your VM doesn't want to use the CPU, the time is always recorded as idle, never steal.