Save 20% on all Cloud VPS plans — use code HAPPY20 at checkout
99.95% uptime SLA 24/7 support Since 2019 Tier IV · Noida
Client Area
BLOGVPS Hosting

KVM, OpenVZ or LXC: what "VPS" actually means on each host

Three technologies are sold under the one word "VPS". Which one you get decides whether Docker, Windows, a VPN or your own kernel will run, and how much a neighbour can slow you down.

By URLStart Engineering 3 min read
KVM, OpenVZ or LXC: what "VPS" actually means on each host — URLStart blog cover
Fig. 01 — KVM, OpenVZ or LXC: what "VPS" actually means on each host — URLStart blog cover
    TL;DR
  • KVM gives each VPS its own kernel and virtual hardware. OpenVZ and LXC are containers sharing the host's kernel.
  • On a container VPS you cannot load kernel modules, run Windows, mount your own ISO or run most VPNs, and Docker is restricted or nested. On KVM all of that works.
  • Containers are lighter, so they are cheaper to run, which is also why they are so often oversold. KVM reserves resources per machine.
  • Every URLStart Cloud VPS is KVM with dedicated vCPU. If a provider's page does not say which it uses, ask.

"VPS" is a sales term. Technically it means a slice of a server with root access, and nothing more. How the slice is cut changes what you can do with it, and most provider pages do not say. This is the difference in practical terms, written for people who have been bitten by it.

Two families

Full virtualisation, which is KVM and also Xen and VMware, has the hypervisor present each VPS with its own virtual hardware: a CPU, memory, a disk, a network card. The VPS boots its own kernel on that hardware, the way a physical server would, and the host does not care what runs inside.

Containers, which is OpenVZ, Virtuozzo and LXC, have the host run a single Linux kernel with each VPS as an isolated group of processes on it, with its own filesystem and network namespace. There is no second kernel. It is quick and light, which is why container VPS can be sold very cheaply.

What that changes

Container VPS (OpenVZ, LXC)KVM VPS
KernelThe host's; you cannot change or tune itYour own; any version, any sysctl, any module
Operating systemLinux templates the host approvesAny Linux, Windows Server, BSD, or your own ISO
DockerOften unsupported, or nested with limitsNative
VPN (WireGuard, OpenVPN)Needs host-enabled TUN; frequently blockedWorks
Kernel modules, custom firewallsNoYes
Swap and memory accountingHost-controlled; "burst" RAM that may not existReserved RAM; swap if you add it
IsolationProcess level; a kernel bug on the host hits everyoneHardware level
OverheadVery lowLow, a few percent
Typical priceLowerA little higher

The overselling problem

Because containers are light, a host can pack far more of them onto one machine. Some do that honestly, with clear limits. Others sell "4 vCPU, 8 GB" containers on a node that could not possibly deliver that to everyone at once, and rely on most customers being idle most of the time. When they are not idle, your VPS slows down and nothing in your own monitoring explains why. We get support tickets from people who have moved to us for exactly that reason, and the first thing we do is run the two commands at the end of this article on their old box.

KVM makes overselling harder, not impossible. The hypervisor reserves memory per VPS, and a provider that sells dedicated vCPU is reserving CPU share as well. Two questions to ask any provider: KVM or container, and is the vCPU dedicated or shared?

When a container VPS is the right buy

A single small website or a static site. A learning box where you will only run packaged Linux software. A throwaway test server where price is the only thing that matters. Anything you would otherwise run in a shared-hosting account. For all of those, a cheap OpenVZ or LXC VPS is fine and you should not pay more.

When you want KVM

Docker, Podman, Kubernetes nodes. Windows Server, RDP, MSSQL, Tally. VPNs, custom firewalls, network tooling. Game servers that want particular kernel settings or runtimes. Databases where you tune the kernel and own the swap. Anything you might one day need to boot from a rescue ISO.

Finding out which you have

Run systemd-detect-virt on the VPS. It prints kvm, openvz, lxc or similar. On a container, uname -r shows the host's kernel and you cannot change it; on KVM you can install another kernel and reboot into it. If a provider's page does not say which, that silence is itself information.

Where we sit

Every Cloud VPS plan here is KVM with dedicated vCPU and reserved RAM on NVMe, which is why Windows, Docker, WireGuard and custom ISOs all work on the ₹584 plan. The KVM VPS page has the detail and the Docker VPS page covers containers inside your own kernel.

Questions we get asked

Is KVM slower than OpenVZ? By a few percent, in return for a real kernel and real isolation. For most workloads you will not notice.

Can Docker run on OpenVZ? Sometimes, with limits, if the host allows it. On KVM it just runs.

Is an "LXC VPS" the same as OpenVZ? Same family: Linux containers on a shared kernel. LXC is the in-kernel version; OpenVZ and Virtuozzo are older and commercial.

Does KVM mean dedicated resources? Not by itself. KVM reserves RAM; whether the CPU is dedicated is up to the provider. Ask.

What does Proxmox use? Both: KVM for virtual machines and LXC for containers. A "Proxmox VPS" still needs the question asked.

Ready to deploy?

Root shell in about a minute. Talk to an engineer first if you'd rather size it together.

✓ 99.95% uptime SLA ✓ Cards · UPI · Net banking · PayPal · Crypto ✓ Cancel anytime