KVM
KVM (Kernel-based Virtual Machine) is a free and open-source virtualisation module built directly into the Linux kernel that turns the kernel into a type-1 (bare-metal) hypervisor. It can run multiple virtual machines running unmodified Linux, Windows, BSD, and other operating system images, each with private virtualised hardware – including network cards, disk controllers, and graphics adapters.
Originally developed by Avi Kivity at Qumranet (acquired by Red Hat in 2008), KVM was merged into the mainline Linux kernel in version 2.6.20 (February 2007). It is now maintained as part of the Linux kernel community. KVM powers the majority of open-source cloud infrastructure and is the foundation for platforms like OpenStack, Google Cloud, and AWS. When you pair KVM with QEMU (the user-space component that provides device emulation), you get a complete virtualisation platform that rivals any commercial hypervisor.
Key Features
- Full hardware-assisted virtualisation — Uses Intel VT-x or AMD-V processor extensions for near-native performance
- Runs unmodified guest operating systems — No kernel modification required; supports Linux, Windows, BSD, and more
- Live migration — Move running virtual machines between physical hosts with zero downtime
- VirtIO paravirtualised devices — High-performance paravirtual network, block storage, and GPU drivers for guests
- NUMA support — Optimised memory and CPU scheduling for large multi-socket systems
- Nested virtualisation — Run hypervisors inside KVM guests (for example, run KVM inside KVM)
- Huge page support — Transparent and explicit huge pages for reduced TLB pressure and improved performance
- Secure Encrypted Virtualisation (SEV) — AMD SEV/SEV-ES/SEV-SNP and Intel TDX support for confidential computing
- Scalability — Supports up to 2880 vCPUs and 12 TB of RAM per VM on modern hardware
- Hot-pluggable virtual CPUs — Add or remove vCPUs without restarting the guest
Why Use It
KVM is the de facto standard open-source virtualisation solution for Linux. As a native part of the Linux kernel, it benefits from the same rigorous development, security auditing, and performance optimisation as the kernel itself. It leverages existing kernel features — the scheduler, memory management, device drivers, and cgroups — for efficient resource management. There are no licensing fees or vendor lock-in. If you run Linux on servers, KVM is already available — just load the module and you have a production-grade hypervisor.
Use Cases
- Cloud computing and IaaS platforms — The foundation for OpenStack, CloudStack, and OpenNebula deployments
- Server virtualisation and consolidation — Run multiple workloads efficiently on fewer physical machines
- Development and testing environments — Isolated, reproducible VMs for CI/CD pipelines and software testing
- Desktop virtualisation (VDI) — Virtual desktops managed via SPICE, VNC, or RDP using virt-manager and GNOME Boxes
- Container runtimes — Micro-VMs via Firecracker (used by AWS Lambda and Fargate) and Kata Containers for strong workload isolation
- Production database and application hosting — Enterprise-grade virtualised servers with live migration for high availability
Platform
x86 / x86-64 · ARM (32/64-bit) · PowerPC · z/Architecture · RISC-V · LoongArch
Licence
GNU GPL v2 and LGPL
Website
http://www.linux-kvm.org
Views: 0