A VPS is faster than shared hosting for one structural reason: resource isolation. The hypervisor partitions a physical server into slices, and each slice gets defined CPU shares, a guaranteed amount of RAM, and explicit I/O limits. When those guarantees hold, your neighbor’s traffic spike cannot take your CPU time or fill your memory. This article explains how the isolation mechanisms actually work under the hood, which metrics prove they are working, and how to verify that your provider is honoring the deal. If you are comparing hosts, our provider comparison table lists the isolation-relevant specs (vCPU type, RAM guarantees, storage type) for the major vendors.
How the hypervisor splits one physical server
The isolation model depends on the virtualization technology:
- KVM and XEN (HVM): each VPS runs its own kernel on virtualized hardware. Isolation is strong, and resource limits are enforced by the hypervisor.
- OpenVZ / LXC / container-based: VPS instances share the host kernel and rely on kernel namespaces and cgroups for limits. Isolation is weaker; a host kernel bug affects everyone.
- Cloud (AWS, GCP, Azure): a mix of hardware virtualization and software-defined networking, with API-level guarantees and burst credits.
For most workloads, KVM-based VPS plans are the safest default because the isolation is enforced in hardware-assisted virtualization rather than in a shared kernel.
CPU shares and the steal metric
CPU isolation works through shares and quotas. The hypervisor or cgroup scheduler assigns each VPS a weight (for example, 1024 for a 1-vCPU slice), and when the physical cores are saturated, CPU time is divided proportionally to those weights. Two things can still go wrong: the node can be oversold (more allocated vCPUs than physical cores), and the host kernel can preempt your vCPUs to run other tenants. Linux exposes the result as steal time (st in vmstat, %st in top).
Steal time is the single best proof of whether your CPU isolation is real. Below 2% is healthy; above 5–10% sustained means the node is oversold and your “dedicated” vCPU is partly shared.
Cloud platforms add a second CPU mechanism: burst credits. Plans labeled “burstable” (for example, T-series instances on AWS) accumulate credits while the CPU is idle and spend them during bursts; once the credit bucket is empty, the instance is throttled to a baseline that can be a fraction of the advertised vCPU count. A burstable plan is fine for spiky, low-utilization workloads, but it is a poor fit for a database or a busy API that needs sustained throughput. When a provider does not state whether CPU is burstable or dedicated, assume burstable and benchmark sustained load with sysbench cpu run --threads=4 --time=300 to see the throttle kick in.
RAM: guaranteed vs burstable
Memory isolation is binary in the best case: your slice gets a hard cap, and the kernel inside your VPS manages that memory itself. Some providers sell burstable or swap-backed RAM, where part of the advertised memory is actually disk or borrowed from other tenants. Read the fine print: “2 GB RAM” can mean 1 GB guaranteed plus 1 GB burstable that disappears under host pressure. If your workload is memory-sensitive, prefer plans with fully guaranteed RAM and verify with free -h plus a memory stress test (for example, stress --vm 2 --vm-bytes 1G) during the trial period.
I/O limits and throttling
Disk I/O is isolated with weights or hard caps (blkio cgroups, IOPS caps, or burst tokens). Two plans with identical “NVMe” labels can differ 5x in real throughput because one caps you at 10,000 IOPS and the other at 60,000. The practical test is fio --name=randread --rw=randread --bs=4k --size=256M --iodepth=1 run repeatedly at different times of day. If throughput drops dramatically during peak hours, the provider is throttling rather than isolating.
Do not skip the sustained test. A provider can configure I/O so the first minute of a benchmark runs at full speed and then settles into a much lower cap; a 60-second fio run misses that entirely. Log results over several days and compare the median and the p95 rather than the peak.
What to verify on your own VPS
- Check steal time:
vmstat 5 12and look at thestcolumn. - Confirm memory guarantees:
free -handcat /sys/fs/cgroup/memory.max(cgroup v2) or/sys/fs/cgroup/memory/memory.limit_in_bytes(v1). - Benchmark disk: run fio at 08:00, 14:00, and 22:00 for a week and log the IOPS.
- Stress-test RAM during the trial:
stress --vm 2 --vm-bytes 80%of your RAM and watch for OOM kills.
Choosing a provider with honest isolation
Isolation quality is not visible on a spec sheet; it shows up in steal time and IOPS consistency. Shortlist providers, run the same tests on each, and compare results in our provider comparison table. A plan with honest resource guarantees costs a little more, but it is what makes a VPS behave like a dedicated machine under load.
If you prefer to skip the tuning entirely, Cloudways runs managed VPS instances on top of KVM-based infrastructure with guaranteed RAM allocations and 24/7 support. Try Cloudways with a 3-day free trial and check the resource guarantees before you migrate.


Leave a Reply
You must be logged in to post a comment.