On a platform with virtualized hardware, there may be performance issues due to CPU steal time. Simply put, this means that more than one VPS is trying to access the same CPU resources of the underlying hypervisor.
In this article we will go into more detail about steal time and the related CPU time.
- Steal time as a result of 2 VPSs using the same CPU cores is not possible on our PerformanceVPS platform: the number of cores your VPS has is 100% reserved for you, regardless of how much of that capacity you use.
- Are you experiencing a high CPU load on your VPS? In this tutorial we explain how you can investigate the cause.
CPU time
CPU time is the amount of time a CPU was used to process instructions from a program or operating system. This time is expressed in (CPU) clock ticks or seconds. Usually CPU time is expressed as a percentage of the total capacity of a CPU, this is called CPU usage. Another term that is often used for this is CPU load.
CPU steal time
CPU steal time only occurs on virtualized hardware, i.e. on VPSs, but not on physical systems. Steal time is the amount of time a program or operating system wants to perform an action, but the hypervisor won't allow it. You experience this as a slower performance of your VPS. Steal time is expressed as a percentage of the entire CPU capacity.
The most common cause of steal time is when a hypervisor CPU allocates time to a VPS other than your VPS. However, hypervisors are smart about allocating CPU time. CPU steal therefore mainly occurs when the load on a hypervisor becomes high.
This mainly applies to VPS platforms that use shared CPU cores (as with our 'regular' VPS platform). The CPU cores of the hypervisor that hosts your VPS are shared with other VPSs on the same hypervisor. Suppose you have 2 VPS's with 4 CPU cores, which are loaded on average for 50% and the server they are on has 6 CPU cores available. If both VPS's suddenly start using 100% of their cores, you will have a shortage of 2 CPU cores and steal time will occur.
It is impossible to eliminate all CPU steal on a virtualized platform: This is due to the nature of the technology and therefore there will always be +- 0.1% - 0.3% stealtime even if there are only a few VPS and being on a hypervisor. In practice, however, this is such a low percentage that you do not notice it.
To prevent you from experiencing steal time, we monitor both CPU usage and CPU steal time on our hypervisors. When the load reaches a certain point, we automatically migrate VPSs to a quieter hypervisor so that that load goes down. For steal time, our system intervenes relatively faster than for CPU usage. It is possible that only 70-80% of the cores of a hypervisor are loaded without CPU steal time. On the other hand, in a few cases there can also be 1% stealtime with a total load of 30% of the CPU cores.
That brings us to the end of this article about CPU time and CPU steal time. Should you have any questions left regarding this article, do not hesitate to contact our support department. You can reach them via the ‘Contact Us’ button at the bottom of this page.