Kernel-based Virtual Machine o KVM, (en español, Máquina virtual basada en el núcleo) es una solución para implementar virtualización completa con Linux. Está formada por un módulo del núcleo (con el nombre kvm.ko) y herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el núcleo está incluido en Linux desde la versión 2.6.20.
KVM utiliza una versión modificada de QEMU como front-end. Se está trabajando para utilizar más características de la Virtualization Technology presente en las últimas CPUs de AMD e Intel (Core 2 Duo E6300 en adelante para equipos de escritorio y Core 2 Duo T5600 y superiores para equipos portátiles). Se han realizado pruebas de rendimiento con Xen (utilizando virtualización hardware en lugar de paravirtualización) y, para algunas cargas de trabajo, ha resultado ser más rápido. Para otras, no tanto.[5]
Una de las características que KVM posee es el «overcommit» que es el uso de memoria excediendo aún la memoria física del host.