Bring your server over

Migrate your existing server to InstantNode in minutes.

Try the Server Importer

KVM vs container VPS: what's the difference?

5 min read · by the InstantNode team

Two providers advertise a "VPS" with the same core count, the same RAM, and wildly different prices. Sometimes that's margin - but often it's architecture. One is a KVM virtual machine, the other is a container, and although both get called a VPS, they are fundamentally different technologies. Here's the difference in plain terms, and how to decide which one your project needs.

How a container VPS works

A container VPS (typically container-based, OpenVZ or Virtuozzo) is an isolated slice of the host's operating system. Your files, processes and network are separated from other customers - but every container on the machine shares the host's kernel. There is no virtual hardware and no OS of your own; the host kernel simply enforces boundaries between tenants.

That design has real advantages: almost zero overhead, fast creation, and high density - which is why container VPS offers are usually the cheapest on the market.

How a KVM VPS works

KVM (Kernel-based Virtual Machine) is hardware virtualization. The host presents your VPS with virtual hardware - CPU, memory, disk, network card - and your operating system runs on it exactly as it would on a physical machine, with its own kernel. The hypervisor's job is allocation and isolation, not sharing an OS. With modern virtio drivers the performance cost is small single-digit percent, which is why virtually all serious cloud infrastructure is built on hardware virtualization.

The differences you'll actually hit

 Container VPSKVM VPS
KernelShared with the hostYour own - pick and upgrade it yourself
Kernel modules (WireGuard, etc.)Only if the host loaded themLoad whatever you need
Docker & nested containersOften restricted or fragileWorks natively
OS choiceHost-provided Linux templatesAny Linux - or Windows
ResourcesKernel-enforced limits; behaviour under host pressure variesHard allocations from the hypervisor
Swap & filesystemsUsually host-controlledYour call: swap, ZFS, LUKS encryption…
OverheadNear zeroSmall (virtio)

The Docker row is the one that bites most people in practice. Running containers inside a container VPS means nesting - and on many container hosts that's disabled, limited, or breaks after a host kernel update you had no say in. On a KVM VPS, Docker runs on your own kernel and just works.

The kernel row matters more than it looks, too. Want WireGuard? A specific sysctl for your database? A newer kernel for io_uring? On a container VPS the answer is always "ask the host". On KVM the answer is apt install.

How to tell which one you're on

Providers don't always advertise the difference, but your server will tell you. Run systemd-detect-virt: answers like kvm or qemu mean a real virtual machine, while lxc or openvz mean a container. On OpenVZ systems the file /proc/user_beancounters exists and lists your resource limits. And the simplest tell of all: try loading a kernel module with modprobe - on a container VPS without host support it fails, because the kernel isn't yours to change.

What about raw performance?

Container fans will point out that shared-kernel isolation is lighter than virtualization - and that's true, but it's a weaker argument than it sounds. With virtio drivers, KVM's overhead on CPU-bound work is a few percent at most, and fast NVMe storage plus a modern CPU dwarfs that difference in real workloads. Where container hosts genuinely win on price, it's usually density - more customers packed per machine - rather than efficiency passed on to you. Cheap is fine; just know what's making it cheap.

When a container VPS is genuinely fine

Honesty over marketing: containers are not a scam. If you're hosting a small static site, a dev sandbox, or a single well-behaved app on a tight budget - and you'll never need Docker, custom kernels or a VPN endpoint - a container VPS from a reputable provider will serve you fine, often for less money. The problem isn't the technology; it's discovering its limits six months in, when moving means a migration.

KVM and LXC at InstantNode

We offer both, so you can match the technology to the workload. Our KVM VPS is a full virtual machine with its own kernel and hard resource allocations on AMD EPYC hardware with NVMe storage - maximum isolation, run Docker, Kubernetes, a custom kernel or nested virtualization, and behave like a machine you own. Our LXC VPS is the lightweight, cheaper option: an unprivileged Linux container that shares the host kernel, boots in seconds and starts from €1.50/mo - ideal when you want a fast, efficient Linux box for a standard workload and don't need your own kernel. Both run on the same AMD EPYC hardware with NVMe storage in the EU. The rule of thumb: pick KVM when you need full kernel-level control and the hardest isolation, and pick LXC when you want the best value for a normal Linux server.

If you're currently on a container VPS and hitting its walls, our Server Importer can pull your files over SFTP onto a fresh KVM VPS with a matching OS - the rare kind of migration that removes limitations instead of adding new ones.

The bottom line

Ask one question: will this project ever need its own kernel, Docker, or guaranteed resources? If the answer is "maybe", the container discount is buying you a future migration. If it's a firm "no", save the money. And if you'd rather not gamble on your own roadmap - that's exactly what KVM is for.

Get a real virtual machine

Full root access, your own kernel, NVMe storage - a KVM VPS deployed in about 60 seconds.

Explore KVM VPS