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.
Side by side
| Criterion | LXC (container) | KVM (full virtualization) |
|---|---|---|
| Kernel | shared with the host | own, freely selectable |
| Overhead | very low | noticeable, a few hundred MB of RAM per VM |
| Performance per euro | higher | lower |
| Start time | seconds | like a real computer |
| Docker | possible if nesting is enabled | always possible |
| Own kernel modules | no | yes |
| Own VMs inside the guest | no | yes |
| Windows as operating system | no | yes |
| Install a custom ISO | no | yes |
| Typical entry price | lower | higher |
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
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 & pricesRent a VPS
from €2.95 / month
Prepaid without a contract, full root access, DDoS protection up to 250 Gbit/s.
View plans & pricesRead more
- VPS - plans & prices
- Prepaid VPS without a contract
- Install Docker on your VPS
- First steps on your VPS
- Web hosting or VPS?
- Set up a web server
- Secure SSH access
Discover more