Private customers Business customers

LXC or KVM - which VPS virtualization suits you?Container versus full virtual machine

Almost every VPS provider names its virtualization technology, hardly any explains it. Yet this very point decides whether your project runs on the affordable plan or not. Here is what the difference means in practice - including the limits of our own offer.

LXCKVMDecision guide

Published on

The difference in two sentences

KVM creates a complete virtual machine: its own kernel, its own simulated BIOS, its own virtual hardware. The guest system does not even know it is virtualized - it behaves like a real computer.

LXC creates an isolated container: its own file system, its own process list, its own network configuration - but the kernel is shared with the host system. This is why it is called operating-system virtualization rather than hardware virtualization.

In everyday use, you notice little of this. In both cases, you connect via SSH, have root rights, install packages with apt and set up services. The difference only becomes visible in three specific places: price, performance - and what is possible with the kernel.

Rent a VPS from €2.95 / month

Prepaid without a contract, full root access.

View plans & prices

Side by side

CriterionLXC (container)KVM (full virtualization)
Kernelshared with the hostown, freely selectable
Overheadvery lownoticeable, a few hundred MB of RAM per VM
Performance per eurohigherlower
Start timesecondslike a real computer
Dockerpossible if nesting is enabledalways possible
Own kernel modulesnoyes
Own VMs inside the guestnoyes
Windows as operating systemnoyes
Install a custom ISOnoyes
Typical entry pricelowerhigher

The price gap is no coincidence: where there is less overhead, more usable systems fit on the same hardware. Every provider passes this on to its customers to a different degree.

What runs on LXC without problems

Much more than the reputation of containers suggests. The vast majority of server applications only need the kernel as it already is:

  • Web servers: nginx, Apache, Caddy with PHP, Python, Node.js or Go
  • Databases: MariaDB, MySQL, PostgreSQL, Redis, MongoDB
  • Docker and Docker Compose - nesting is enabled on our VPS plans
  • Game servers: Minecraft, Steam-based servers, anything that runs as a normal process
  • Voice servers: TeamSpeak 3, Mumble
  • Applications: Nextcloud, n8n, Gitea, Vaultwarden, Home Assistant Core
  • Bots and automation: Discord bots, cron jobs, scrapers, queues
  • Your own firewall rules via ufw or iptables

Where LXC reaches its limits

Because the kernel is shared, you cannot change anything about it. Specifically, this means:

  • No custom kernel. You cannot boot a different kernel version or set kernel parameters that would affect the host.
  • No custom kernel modules. Anything that wants to load a module fails. This affects, among others, some VPN implementations, ZFS inside the guest and certain monitoring tools that reach deep into the system.
  • No nested virtualization. Your own virtual machines via KVM, Proxmox or VirtualBox inside the container do not work.
  • No Windows. A Windows Server needs a Windows kernel and cannot be installed on a Linux container.
  • No custom ISO. You choose from the provided operating system templates instead of uploading your own image.

This list is deliberately complete. If you absolutely need one of these features, a KVM product serves you better - and you should know that before ordering, not after.

Decision guide by use case

LXC is enough if …

  • you run websites or web applications
  • you host game servers or a voice server
  • you want to run Docker containers
  • you run bots, cron jobs or automation
  • you want your own cloud or Git instance
  • value for money matters to you

You need KVM if …

  • you have to use Windows Server
  • you need your own kernel modules or a specific kernel
  • you want to run your own VMs inside the server
  • you have to install your own ISO image
  • you use software that explicitly requires full virtualization

When in doubt, one simple question helps: does my software need to change anything about the kernel? If the answer is no - and it is for the vast majority of server applications - LXC is the more efficient choice.

What this means for our VPS plans

Our VPS plans use LXC. That is a deliberate decision: the lower overhead is the reason why, despite a low entry price, we can offer NVMe SSDs in RAID 1, unmetered traffic and DDoS protection up to 250 Gbit/⁠s.

Nesting is enabled on our containers, so Docker and Docker Compose run. How to set them up is described in the guide Install Docker on your VPS.

What does not work is in the list above - and we deliberately state it on the product page rather than hiding it. If your project needs its own kernel or Windows, let us know via the ticket system; we will then work out together whether an alternative is an option, instead of you buying a plan that does not fit.

Frequently asked questions

KVM creates a complete virtual machine with its own kernel and simulated hardware - the guest system behaves like a real computer. LXC creates an isolated container with its own file system, process list and network configuration, but shares the kernel with the host system. As a result, LXC has much less overhead, which is why the same hardware delivers more usable performance.

No, it is different. For everything that does not need to change the kernel - web servers, databases, game servers, voice servers, Docker containers, bots - LXC is even more efficient, because fewer resources are spent on virtualization itself. KVM is superior as soon as you need your own kernel, your own kernel modules, Windows or nested virtualization.

Yes, as long as nesting is enabled - which it is on our VPS plans. Docker Engine and Docker Compose then work inside the container: pulling images, building your own images, using volumes and networks. What does not work is nested virtualization, i.e. starting your own virtual machines via KVM inside the container.

No. Windows Server requires a Windows kernel, whereas an LXC container shares the Linux kernel of the host system. If you absolutely need Windows, you need a KVM product. Our VPS plans are pure Linux systems with Debian, Ubuntu and CentOS to choose from.

Because fewer resources are used for virtualization itself. Every KVM machine boots a complete operating system including its own kernel and takes up a few hundred megabytes of memory for it before a single application runs. With LXC, this effort disappears, so more usable systems fit on the same hardware.

In most cases, no. You connect via SSH, have root rights, install packages with apt and set up services as on any Linux server. The difference only becomes apparent when software tries to load a kernel module or change kernel parameters - then it fails.

VPS with LXC virtualization

Our VPS plans use LXC - which gives you more usable performance for the same money. Docker runs, kernel modules do not. For web servers, databases, game servers, voice servers and bots, it is the more efficient choice.

View VPS plans & prices