Skip to content
Launch offerNew accounts: we double your first deposit of $100 or more, up to $250 bonus.Claim my bonus
LiteKeep
Sign inDeploy a server

Explainer with our own test, 2026

What is KVM? And is your server really running on it?

Not the keyboard-video-mouse switch. This is the virtualization inside Linux, explained with commands you can run and output from our own servers.

  • 9 min read
  • 5 chapters
  • Updated
Where your kernel lives, as our test servers reported it

KVM VPS

  1. Your apps
  2. Your kerneluname -r: 6.1.182
  3. Virtual hardwarevirtio disk, network, CPUs
  4. Host kernel + KVMyour VM is one process here
  5. Physical server

Its own kernel, separate from the host.

Container VPS

  1. Your apps
  2. Host kernel, shareduname -r: same as host
  3. Physical server

Every container on the host runs on one kernel.

The short answer

KVM (Kernel-based Virtual Machine) is the virtualization built into the Linux kernel. It turns a Linux server into a hypervisor, so one physical machine can run many virtual machines, each with its own virtual hardware and its own kernel.

On a VPS, that’s the difference that matters: a KVM VPS is a real machine, while a container VPS (OpenVZ, LXC) shares the host’s kernel with every other customer. Every LiteKeep server is KVM with NVMe, billed by the hour.

Every VPS plan says “fast and secure”. What decides whether your software actually runs is what sits underneath: a real virtual machine, or a container on someone else’s kernel.

So we tested it. We ran one read-only script on our KVM server, inside an LXC container and inside a Docker container, and compared the output line by line.

Below: the plain definition, the parts (KVM, QEMU, the hypervisor), the real difference from a container VPS, what you get on a LiteKeep KVM server, and the same script as a free checker.

In this guide you’ll learn

  • What KVM is in one minute, and how it relates to QEMU
  • A free checker: paste one command’s output, see what your server is
  • KVM vs containers: our side-by-side test
  • What you get on LiteKeep KVM: steal time, kernel features, Docker and VPNs
  • When it matters for the software you want to run

Chapter 1

KVM in one minute

KVM is full virtualization for Linux on x86 hardware with Intel VT or AMD-V. Here’s what that means in practice.

  • It lives in the Linux kernel. KVM was added in Linux 2.6.20, released in February 2007. It is a kernel module (kvm.ko) plus one for the CPU maker, kvm-intel.ko or kvm-amd.ko.
  • It uses the CPU’s own virtualization support. Intel VT-x and AMD-V let guest code run directly on the real CPU instead of being emulated instruction by instruction.
  • A VM is just a process. The host’s kernel schedules each VM like any other program. Each virtual CPU is a thread taking turns on the host’s real cores.
  • Each VM gets its own hardware, virtually. A network card, a disk, a graphics adapter, all private to that VM. It boots its own kernel, Linux or Windows.
Three words that get mixed up
What it isWhat it does
KVMA part of the Linux kernelRuns guest CPUs on the real CPU, manages guest memory. Programs reach it through /dev/kvm
QEMU (or another VMM)A normal program on the hostCreates the virtual disk, network card and other devices, and asks KVM to run the CPUs
HypervisorThe whole host doing thisLinux + KVM + a VMM together act as the hypervisor

QEMU can run without KVM, but then it emulates every instruction in software, which is slow. With KVM switched on, it uses the hardware. The kernel side is a small API: a program opens /dev/kvm, creates a VM, then creates virtual CPUs.

Chapter 2

Is your server KVM? Check it

A plan page can say anything. The server itself can’t hide what it runs on. Run this block over SSH and paste the output.

1. Run this on your server
c=; grep -qa container=lxc /proc/1/environ 2>/dev/null && c=lxc
[ -f /.dockerenv ] && c=docker; [ -f /run/.containerenv ] && c=podman
{ [ -e /proc/vz ] && [ ! -e /proc/bc ]; } || [ -e /proc/user_beancounters ] && c=openvz
[ -z "$c" ] && c=$(systemd-detect-virt --container 2>/dev/null)
echo "container=${c:-none}"
echo "virt=$(systemd-detect-virt --vm 2>/dev/null)"
echo "hypervisor_flag=$(grep -c -w hypervisor /proc/cpuinfo)"
echo "nested=$(grep -m1 -o -wE 'vmx|svm' /proc/cpuinfo || echo no)"
echo "dev_kvm=$([ -e /dev/kvm ] && echo yes || echo no)"
echo "kernel=$(uname -r)"
echo "modules=$([ -e /proc/modules ] && echo yes || echo no)"
echo "tun=$([ -e /dev/net/tun ] && echo yes || echo no)"
echo "steal=$(awk '/^cpu /{t=0; for(i=2;i<=NF;i++) t+=$i; printf "%.2f", 100*$9/t}' /proc/stat)"

Read-only, no sudo needed. Works in sh and bash.

No server handy?

Run the block, then paste its output on the left.

Why containers are checked first: inside our LXC container, systemd-detect-virt printed the outer machine’s type, not “lxc”. A container can only report what the host shows it, so the block looks for container markers before asking systemd.

Prefer to check by hand? lscpu shows it too. Ours prints Hypervisor vendor: KVM and Virtualization type: full.

Chapter 3

KVM vs container VPS: our test

Container platforms like LXC and OpenVZ share one kernel between every customer on the host. We wanted to see what that means in practice, not just read about it.

The same read-only script on our KVM server and in two containers (24 October 2026)
Our KVM serverLXC containerDocker container
Kernel (uname -r)6.1.182, its ownThe host’s, exactlyThe host’s, exactly
Kernel modulesFeatures built inmodprobe tried: failedNot tried
/dev/net/tun for VPNsYesNoNo
systemd-detect-virt sayskvmThe outer machineNot installed

On a container VPS, the “host kernel” is the provider’s, shared with every other customer on the machine. Inside LXC, changing a kernel setting with sysctl -w failed with “Read-only file system”.

What that changes for you:

  • Software that needs kernel features may not install. mailcow, for example, doesn’t support OpenVZ, LXC or other container platforms. It supports KVM.
  • VPNs need a TUN device or a kernel module. Neither container had /dev/net/tun. Our KVM server did, out of the box.
  • Docker inside a container needs the host to allow nesting. On KVM it installs like on any Linux machine; our Docker tutorial ran exactly that way.
  • Security is stronger on KVM. A VM adds a second boundary, the virtual hardware, so a kernel bug in one VM stays in that VM. In a container, a kernel bug can reach every container on the host.

Chapter 4

What you get on a LiteKeep KVM server

KVM is the mechanism. How a host runs it decides how your server feels. Here’s ours.

1. Your CPU gets the CPU: low steal time

Your vCPUs are threads on the host. When more of them want to run than there are free cores, yours wait, and the kernel counts that wait as steal. Idle time is never counted, so a high number means you wanted the CPU and didn’t get it.

Our server has stolen 0.04% of its CPU time since boot (almost 5 days), and 0.15% under a full minute of 100% load. Check yours with vmstat 1, column st.

2. Kernel features built in

Every LiteKeep server boots a kernel with the features you need compiled in. WireGuard and overlay (for Docker) just work, with nothing to install or load. Keep the rest of the system patched with our unattended upgrades tutorial.

3. NVMe, DDoS filtering and 15 countries

Every server runs on NVMe storage, includes DDoS filtering, and costs the same in all 15 countries. Billed by the hour, never more than the monthly price.

Chapter 5

When KVM matters for you

For a simple website, any VPS type works. KVM starts to matter the moment your software touches the kernel.

What you can expect on KVM vs a container VPS
You want to runKVM VPS (LiteKeep)Container VPS
A website or small appYesYes
Docker and ComposeYes, standard installOnly if the host allows nesting
WireGuard or OpenVPNYes, built inOnly if the host enables it
mailcowSupportedNot supported by mailcow
Windows ServerYes, on any LiteNo
A kernel isolated from other customersYesNo

Running mailcow? It needs at least 6 GB of RAM, so start on a Lite 6. For Docker, a VPN or a website, a Lite 2 is plenty.

Next steps, all tested on KVM: WireGuard on a VPS, Docker without breaking ufw, and the wider guide to choosing a VPS.

Now it’s your move

KVM is the Linux kernel’s own hypervisor: each VM gets virtual hardware and its own kernel. That’s why Docker, VPNs and mail servers run on a KVM VPS and often fail in a container.

Every LiteKeep server is KVM, with NVMe, DDoS filtering and kernel features built in, in 15 countries, billed by the hour. Deploy one, run the checker, and see for yourself.