When you shop for a VPS, the plan usually names its virtualization type. The big three are KVM vs OpenVZ vs LXC. They look similar from inside an SSH session, but they differ in what you can install, how resources are guaranteed and how isolated you are from other customers.
Before you start
- Know what you plan to run: a website, Docker apps, a VPN, Windows, or custom kernel modules.
- See containers vs virtual machines for the underlying concepts.
KVM
KVM is full hardware virtualization built into Linux. Each VPS has its own kernel and virtual hardware.
- Install any OS, including Windows and BSD, or upload your own ISO.
- Load kernel modules: WireGuard, custom firewalls, ZFS, Docker with any storage driver.
- RAM is dedicated to the VM, so a neighbour cannot borrow it.
OpenVZ
OpenVZ (and its successor Virtuozzo) is container-based. All VPSs share the host kernel.
- Very low overhead, so providers can offer cheap plans.
- You cannot change the kernel or load modules; Docker, WireGuard and some VPNs may not work or need provider support.
- Older OpenVZ 6 hosts run outdated kernels; OpenVZ 7 is newer but still shared.
LXC / LXD
LXC is the mainline Linux container technology, used by Proxmox VE and Incus/LXD.
- Feels like a full Linux system with near-native speed.
- Shares the host kernel, so the same kernel limits apply as OpenVZ.
- Nested Docker works when the host enables the right features (nesting, keyctl).
KVM vs OpenVZ vs LXC comparison
| KVM | OpenVZ | LXC | |
|---|---|---|---|
| Own kernel | Yes | No | No |
| Windows support | Yes | No | No |
| Docker | Full | Limited | With nesting enabled |
| Custom kernel modules | Yes | No | No |
| Overhead | Low | Very low | Very low |
| Isolation | Strong | Moderate | Moderate |
Which should you choose?
- Most users: KVM. It runs everything and is the industry default.
- Tiny budget and simple Linux services: OpenVZ or LXC can be fine.
- Running your own server: Proxmox VE lets you mix KVM VMs and LXC containers.
Frequently asked questions
How can I tell which virtualization my VPS uses?
Run systemd-detect-virt. It prints kvm, openvz, lxc and so on.
Why does my OpenVZ VPS show more RAM than I bought?
Containers can display host memory or burst values. Only your plan's guaranteed amount is reliable.
Can I convert OpenVZ to KVM?
Not in place. Create a KVM VPS and migrate your data and configuration.
