Skip to main content

KVM

Kernel-based Virtual Machine (VM) (KVM) is a Linux kernel virtualization module that turns the Linux kernel into a type-1 hypervisor for running full virtual machines on x86 and other supported hardware platforms.

  • Hardware-assisted virtualization for Linux hosts (virtualization)
  • Runs unmodified Linux and other guest operating systems as virtual machines (server virtualization)
  • Integrates with the mainline Linux kernel as a loadable module (operating system kernel module)
  • Exposes a virtualization interface used by user-space VMMs such as QEMU (virtual machine monitor interface)
  • Supports modern Central Processing Unit (CPU) virtualization extensions such as Intel VT-x and AMD-V where available (hardware virtualization)

More About KVM

Kernel-based Virtual Machine (KVM), or Kernel-based VM, is a virtualization (infrastructure virtualization) capability built into the Linux kernel that enables a Linux host to function as a bare-metal hypervisor. It relies on hardware virtualization extensions provided by supported processor architectures, such as Intel VT-x and AMD-V on x86 (hardware virtualization), to run multiple isolated virtual machines (VMs) with their own virtualized CPU, memory, and I/O devices.

As a kernel module, KVM consists of a core component and architecture-specific modules (operating system kernel module). The core module provides the basic virtualization infrastructure and an interface for managing Vulnerability Management System (VMS), while architecture modules implement low-level support for particular CPU families, such as x86 or others supported in the mainline kernel. KVM exposes a device interface, commonly /dev/kvm, through which user-space VM monitors (VMMs) can create and control VMS and virtual CPUs.

In practice, KVM is used together with user-space tools such as QEMU or other VMMs (virtual machine monitor) that provide device emulation, management interfaces, and integration with storage and networking. In this architecture, KVM handles CPU virtualization and parts of memory management inside the kernel, while the user-space VMM implements virtual hardware devices, live migration logic, and higher-level orchestration hooks. This separation keeps the core virtualization logic in the kernel while leaving policy and device models to user-space processes.

Enterprises deploy KVM as a foundation for server consolidation, private and public cloud infrastructure, and virtualized development and test environments (cloud infrastructure, server virtualization). Because KVM is part of the mainline Linux kernel, it benefits from the kernel’s scheduling, memory management, and security mechanisms, including cgroups and namespaces when combined with higher-level tooling. It supports running multiple unmodified guest operating systems, including various Linux distributions and other supported systems, on a single physical host.

KVM integrates with a range of management and orchestration frameworks that operate at the virtualization or cloud layer (cloud management). While those frameworks reside outside KVM itself, they interact with KVM through standard Linux and VMM interfaces to provision, monitor, and manage virtual machines. For enterprises, KVM provides a hypervisor capability that aligns with Linux kernel lifecycle and ecosystem practices, enabling standardized virtualization across on-premises (on-prem) data centers and cloud platforms.

From a directory and taxonomy perspective, KVM belongs in categories such as hypervisors, server virtualization platforms, and Linux kernel virtualization modules. Its function is to offer a hardware-assisted virtualization layer that user-space VMMs and cloud stacks can build upon to deliver virtual machines for production, staging, and test workloads in enterprise and institutional environments.