LXC vs QEMU: containers vs virtual machines on Proxmox
Proxmox VE runs two kinds of guest: LXC system containers and QEMU/KVM virtual machines. Containers are lighter and faster; VMs are fully isolated and run any operating system. Here's how they differ and when to pick each.
What's the difference between LXC and QEMU?
LXC is OS-level virtualization: containers share the host's Linux kernel and run isolated user-spaces on top of it. There's no hardware to emulate, so a container boots in a second, uses almost no extra memory and packs densely onto a node, but it can only run Linux and stays tied to the host kernel.
QEMU is a full machine emulator. On Proxmox it's paired with KVM for hardware-accelerated virtualization, so each guest is a complete virtual machine with its own kernel and virtual hardware. That means you can run Windows, BSD or a custom kernel and get strong isolation and live migration, at the cost of a little more overhead than a container.
LXC vs QEMU at a glance
Same Proxmox host, two very different trade-offs.
| Aspect | LXC (containers) | QEMU/KVM (virtual machines) |
|---|---|---|
| Virtualization type | OS-level, shares the host kernel | Full hardware virtualization (KVM) |
| Guest operating systems | Linux only | Any OS — Linux, Windows, BSD |
| Overhead & density | Very low — many per node | Higher — full VM per guest |
| Boot time | ~1 second | Full OS boot |
| Isolation | Shared kernel (namespaces/cgroups) | Strong — separate kernel |
| Custom / own kernel & modules | No — uses the host kernel | Yes |
| Live migration | Offline / restart migration | Live migration |
| Snapshots | Filesystem snapshots (storage-dependent) | Disk + RAM state (vmstate) |
| Typical use | Dense Linux services, web apps, dev | Windows, mixed OS, strict isolation |
When should you use LXC or QEMU?
Choose LXC when…
- The workload is Linux and you want maximum density per node.
- You need fast boots and near-zero memory overhead.
- It's a web app, database, reverse proxy or dev box.
- You're fine sharing the host kernel (no custom modules).
Choose QEMU/KVM when…
- You need Windows, BSD or any non-Linux OS.
- You require a custom or specific kernel and modules.
- Strong isolation matters — untrusted or multi-tenant guests.
- You want live migration between nodes with no downtime.
Is QEMU the same as KVM? And what about "LXC vs KVM"?
They're not the same thing, they work together. KVM is the Linux kernel module that lets a CPU run virtual machines at near-native speed. QEMU is the user-space emulator that provides the virtual hardware (disk, NIC, display). On Proxmox, QEMU uses KVM for acceleration, so people say "QEMU", "KVM" or "QEMU/KVM" to mean the same full-VM guest type.
So "LXC vs KVM" is the same question as "LXC vs QEMU": container vs full virtual machine. Everything on this page applies either way.
Privileged vs unprivileged LXC
An unprivileged container maps its root user to an unprivileged UID
on the host, so even root inside the container is a harmless normal user
outside it. This is the safe default and what you should use for almost everything.
A privileged container runs its root as real host root. It's needed only for a few workloads that touch host-level features, and it's less isolated — treat it as trusted-only. For Docker-in-LXC you typically keep the container unprivileged and enable nesting and keyctl features instead.
Managing LXC and QEMU together
NexoVirt manages both guest types side by side on top of Proxmox VE, no node-hopping.
One list for every guest
LXC and QEMU guests across all hosts in a single, filterable, searchable list with live status, IP, cores, RAM and storage.
Provision from templates
Create containers from CT templates and VMs from cloud-init images with the same wizard, resource plans and IP assignment.
Console, snapshots & firewall
In-browser console, snapshots and per-guest firewall work for both LXC and QEMU, from the panel or the REST API.
Frequently asked questions
Proxmox guide
Run LXC and QEMU from one panel
NexoVirt sits on top of Proxmox VE and manages containers and VMs together. Community Edition is free (up to 2 nodes).