* [Topics](/en/topics "Topics")
* [Open source](/en/topics/open-source "Open source")
* What is KVM?
What is KVM?
============
Published  April 16, 2026•*4*-minute read
Copy URL
Jump to section
---------------
What is KVM?What does a hypervisor do?Benefits of virtualizationFeatures of KVMHow do you manage VMs with KVM?Migrating to a KVM platformWhy choose Red Hat?
What is KVM?
------------
Kernel-based Virtual Machine (KVM) is an open source [virtualization](/en/topics/virtualization/what-is-virtualization) technology for Linux® operating systems. With KVM, Linux can function as a [hypervisor](/en/topics/virtualization/what-is-a-hypervisor) that runs multiple, isolated [virtual machines (VMs)](/en/topics/virtualization/what-is-a-virtual-machine).
KVM was announced in 2006 and merged into the [Linux kernel](/en/topics/linux/what-is-the-linux-kernel) a year later. Many open source virtualization technologies, including Red Hat’s virtualization portfolio, depend on KVM as a component.
[Learn about virtualization solutions at Red Hat](/en/hybrid-cloud-solutions/virtualization)
What does a hypervisor do?
--------------------------
Virtualization, which lets you run an operating system (OS) within another OS, is possible thanks to hypervisors. A hypervisor pools computing resources—like processing, memory, and storage—and reallocates them among VMs. A hypervisor can run multiple VMs at once, manage them, and support the creation of new ones. The physical hardware, when used as a hypervisor, is called the host, while the many VMs that use its resources are guests.
Hypervisors need operating system-level components—such as a memory manager, process scheduler, input/output (I/O) stack, device drivers, security manager, a network stack, and more—to run VMs. KVM has all these components because it’s part of the Linux kernel. Every VM is implemented as a regular Linux process, scheduled by the standard Linux scheduler, with dedicated virtual hardware like a network card, graphics adapter, CPU(s), memory, and disks.
Red Hat resources
-----------------
[Keep reading](/en/resources "Keep reading")
What are the benefits of virtualization?
----------------------------------------
Virtualization makes it possible to quickly start and stop different operating system environments on a single piece of hardware, bringing a host of benefits to your IT ecosystem.
#### Flexibility
You can divide a host machine into multiple VMs and allocate resources where they are needed. This way, you can maximize space, power consumption, and maintenance by hosting multiple VMs on a single piece of physical hardware.
#### Speed
Because VM configurations are defined by software, VMs are quick to create, remove, clone, and migrate. You can control a VM remotely, and you can automate the management of VMs.
#### Compatibility
You can use VMs to run software that wasn’t released for your OS. For example, you can launch an older operating system in a VM so you can keep existing software running on modern hardware.
#### Stability and safety
VMs also have safety advantages because each VM runs separately. A VM can become unstable without affecting the host OS or other VMs on the same host. You can test a new configuration without risking a compromise to your entire system.
What are the features of KVM?
-----------------------------
With KVM, a VM is a Linux process, scheduled and managed by the kernel. VMs running with KVM benefit from the performance features of Linux, and users can take advantage of the fine-grained control provided by the Linux scheduler. KVM also brings features related to security, storage, hardware support, and live migration.
#### Security boundaries with SELinux and sVirt
KVM uses a combination of [Security-Enhanced Linux (SELinux)](/en/topics/linux/what-is-selinux) and [sVirt](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-svirt) for enhanced VM security and isolation. SELinux establishes security boundaries around VMs. sVirt extends SELinux’s capabilities, allowing Mandatory Access Control (MAC) security to be applied to guest VMs and preventing manual labeling errors.
#### Storage flexibility
KVM is able to use any storage supported by Linux, including some local disks and [network-attached storage (NAS)](/en/topics/data-storage/network-attached-storage). KVM also supports shared file systems so VM images may be shared by multiple hosts.
#### Support for multiple hardware architectures
KVM can run on a wide variety of hardware platforms. When used as part of [Red Hat Enterprise Linux 9](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/assembly_feature-support-and-limitations-in-rhel-9-virtualization_configuring-and-managing-virtualization#recommended-features-in-rhel-9-virtualization_feature-support-and-limitations-in-rhel-9-virtualization), KVM is supported with 64-bit AMD, Intel, and ARM architectures, as well as IBM z13 systems and later.
#### Live migration
KVM supports [live migration](/en/topics/virtualization/what-is-live-migration), which is the ability to move a running VM between physical hosts with no noticeable service interruption. The VM remains powered on, network connections remain active, and applications continue to run while the VM is relocated. KVM also saves a VM's current state so it can be stored and resumed later.
How do you manage VMs with KVM?
-------------------------------
When you’re running multiple VMs, a [virtualization management](/en/topics/virtualization/what-is-virtualization-management) tool is helpful for keeping track of them. Some VM management tools run from the command line, others provide graphical user interfaces (GUIs), and others are designed to manage VMs across large enterprise environments. Here are a few common virtualization management solutions for KVM.
#### libvirt and virsh
The libvirt project provides an API for managing virtualization platforms. Within libvirt, [virsh](https://www.libvirt.org/manpages/virsh.html) is a command-line utility for creating, starting, listing, and stopping VMs, as well as entering a virtualization shell.
#### Virtual Machine Manager
Virtual Machine Manager (known as VMM or [virt-manager](https://virt-manager.org/)) provides a desktop interface for VMs, and is available for major Linux distributions.
#### Web consoles
VM administrators can choose to manage their VMs using web-based interfaces. For example, [Cockpit](https://cockpit-project.org/) offers a solution that lets users [manage VMs from a web interface](/en/blog/manage-virtual-machines-cockpit). Red Hat Enterprise Linux offers a [web console plug-in for virtualization](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/configuring_and_managing_virtualization/managing-virtual-machines-in-the-web-console_configuring-and-managing-virtualization#setting-up-the-rhel-web-console-to-manage-vms_managing-virtual-machines-in-the-web-console).
#### KubeVirt
[KubeVirt](/en/topics/virtualization/what-is-kubevirt) is a solution for managing large numbers of VMs in a Kubernetes environment, where VMs can be managed alongside containerized applications. Kubevirt provides the foundation for [Red Hat OpenShift® Virtualization](/en/technologies/cloud-computing/openshift/virtualization).
Why migrate to a KVM-based virtualization platform?
---------------------------------------------------
One of the benefits of VMs is flexibility–and portability. That portability makes it possible to move a VM from one virtualization provider to another to take advantage of lower costs, expanded capabilities, more control, or other advantages.
Developers consider KVM a mature technology, and enterprises trust it to handle VMs efficiently at scale. A migration to a KVM-based platform, such as Red Hat’s virtualization portfolio, is a way to preserve existing VM investments while choosing a solution with an open source foundation. Red Hat’s technologies also make it possible to manage a unified environment for VMs, containers, and serverless apps.
[Get an analyst perspective on VM migration](/en/resources/s&p-global-openshift-virtualization-report-analyst-material)
Why choose Red Hat for virtualization?
--------------------------------------
This video can't play due to privacy settings
To change your settings, select the "Cookie Preferences" link in the footer and opt in to "Advertising Cookies or try disabling adblockers."
Is OpenShift Virtualization right for your VMs? Video duration: 1:57
KVM is the hypervisor behind Red Hat’s virtualization portfolio. Get the flexibility and benefits of an open source hypervisor like KVM with the assurance of Red Hat’s enterprise support, security features, and stability.
### Migrate your VMs and maintain your momentum
Red Hat’s trusted products and [partner ecosystem](/en/technologies/cloud-computing/openshift/virtualization/partners) deliver comprehensive [virtualization solutions](/en/products/virtualization). Migrate your virtual machines now to [Red Hat® OpenShift® Virtualization](/en/technologies/cloud-computing/openshift/virtualization), a modern app platform–based on [KVM](/en/topics/virtualization/what-is-KVM) and [KubeVirt](/en/topics/virtualization/what-is-kubevirt)–that integrates virtual and containerized workloads to provide flexibility without added complexity. Or, for a dedicated virtualization solution, explore [Red Hat OpenShift Virtualization Engine](/en/technologies/cloud-computing/openshift/virtualization-engine), a streamlined, cost-effective offering to deploy, manage, and scale VMs exclusively. The included [migration toolkit for virtualization](/en/technologies/cloud-computing/openshift/virtualization-engine) provides the tools you need to start your migration in a few simple steps.
### Automate your migration
Use automation to accelerate delivery with [Red Hat Ansible® Automation Platform](/en/technologies/management/ansible/virtual-infrastructure-management)–from migration at scale to Day 2 operations and remediation. With this flexible approach, you can automate tasks to improve speed and efficiency of IT operations.
### Manage and modernize at your own pace
Monitor the security and performance of your VMs from a single console with [Red Hat Advanced Cluster Management](/en/technologies/management/advanced-cluster-management). With additional support options and partner integrations, you can rely on Red Hat to keep your virtual infrastructure running smoothly throughout the hybrid cloud–and help you modernize when you’re ready.
[Explore Red Hat’s virtualization portfolio](/en/products/virtualization)
Resource
The state of virtualization
---------------------------
See how IT leaders approach virtualization across cloud, platform, and migration needs and plan future innovations with virtual machines and containers.
[Get the resource](/en/engage/state-of-virtualization-ebook "The state of virtualization")
All Red Hat product trials
--------------------------
Our no-cost product trials help you gain hands-on experience, prepare for a certification, or assess if a product is right for your organization.
[Keep reading](/en/products/trials "All Red Hat product trials")
Keep reading
------------
### Ansible vs. Puppet: What you need to know
Ansible and Puppet are community open source IT automation tools. This article will help explain the similarities and differences between Ansible and Puppet in greater detail.
[Read the article](/en/topics/automation/ansible-vs-puppet "article | ansible vs puppet")
### Ansible vs. Salt: What you need to know
Ansible and Salt are community open source IT automation tools. This article will help explain the similarities and differences between Ansible and Salt in greater detail.
[Read the article](/en/topics/automation/ansible-vs-salt "article | ansible vs salt")
### Ansible vs. Chef: What you need to know
Ansible and Chef are community open source IT automation tools. This article will help explain the similarities and differences between Ansible and Chef in greater detail.
[Read the article](/en/topics/automation/ansible-vs-chef "article | ansible vs chef")
Open source resources
---------------------
### Related content
* Blog post
  [What's new in Red Hat OpenShift Virtualization 4.21](/en/blog/whats-new-red-hat-openshift-virtualization-421)
* Blog post
  [Modernize virtual machines on Google Cloud with Red Hat OpenShift Virtualization](/en/blog/modernize-virtual-machines-google-cloud-red-hat-openshift-virtualization)
* Blog post
  [SAS Viya Platform with Red Hat OpenShift – Part 2: Security and Storage Considerations](/en/blog/sas-viya-on-red-hat-openshift-part-2-security-and-storage-considerations)
* Blog post
  [SAS Viya Platform with Red Hat OpenShift – Part 1: Reference Architecture and Deployment Considerations](/en/blog/sas-viya-on-red-hat-openshift-part-1-reference-architecture-and-deployment-considerations)
### Related articles
* [What is Linux?](/en/topics/linux/what-is-linux)
* [Ansible vs. Salt: What you need to know](/en/topics/automation/ansible-vs-salt)
* [Ansible vs. Chef: What you need to know](/en/topics/automation/ansible-vs-chef)
* [Ansible vs. Puppet: What you need to know](/en/topics/automation/ansible-vs-puppet)
* [Ansible vs. Terraform](/en/topics/automation/ansible-vs-terraform)
* [What is Podman Desktop?](/en/topics/containers/what-is-podman-desktop)
* [What is Podman?](/en/topics/containers/what-is-podman)
* [Containers vs. VMs: Similarities, differences, and combined approaches](/en/topics/containers/containers-vs-vms)
* [How to create a virtual machine with an instance type](/en/topics/virtualization/how-create-virtual-machine-instance-type)
* [What is InstructLab?](/en/topics/ai/what-is-instructlab)
* [What is a virtual machine (VM)?](/en/topics/virtualization/what-is-a-virtual-machine)
* [What is Istio?](/en/topics/microservices/what-is-istio)
* [What is CentOS Stream?](/en/topics/linux/what-is-centos-stream)
* [What's the difference between cloud and virtualization?](/en/topics/cloud-computing/cloud-vs-virtualization)
* [What is virtualization?](/en/topics/virtualization/what-is-virtualization)
* [Red Hat OpenShift on VMware](/en/technologies/cloud-computing/openshift/vmware)
* [What is virtualization management?](/en/topics/virtualization/what-is-virtualization-management)
* [How to migrate VMs from VMware to Red Hat OpenShift Virtualization](/en/technologies/cloud-computing/openshift/migrate-vmware-to-openshift-virtualization)
* [KVM vs. VMware](/en/topics/virtualization/kvm-vs-vmware-comparison)
* [What is virtual infrastructure management? And how can automation help?](/en/topics/automation/virtual-infrastructure-management)
* [How to choose a virtualization platform](/en/topics/virtualization/how-to-choose-a-virtualization-platform)
* [What is KubeVirt?](/en/topics/virtualization/what-is-kubevirt)
* [What is live migration?](/en/topics/virtualization/what-is-live-migration)
* [Why choose Red Hat for virtualization?](/en/topics/virtualization/why-choose-red-hat-for-virtualization)
* [Why migrate virtual machines to Red Hat?](/en/topics/virtualization/why-migrate-your-virtual-machines-to-red-hat)
* [What are CentOS replacements?](/en/topics/linux/centos-alternatives)
* [What is CentOS?](/en/topics/linux/what-is-centos)
* [What is Helm?](/en/topics/devops/what-is-helm)
* [What is Argo CD?](/en/topics/devops/what-is-argocd)
* [What is MicroShift?](/en/topics/edge-computing/microshift)
* [OpenJDK versus Oracle JDK](/en/topics/application-modernization/openjdk-vs-oracle-jdk)
* [What is Cloud Foundry?](/en/topics/application-modernization/what-is-cloud-foundry)
* [What is Buildah?](/en/topics/containers/what-is-buildah)
* [Understanding Ansible, Terraform, Puppet, Chef, and Salt](/en/topics/automation/understanding-ansible-vs-terraform-puppet-chef-and-salt)
* [What's the best Linux distro for you?](/en/topics/linux/whats-the-best-linux-distro-for-you)
* [What is a hypervisor?](/en/topics/virtualization/what-is-a-hypervisor)
* [Learn everything you need to know about Open RAN](/en/topics/5g-networks/what-is-open-ran)
* [Red Hat OpenShift vs. OKD](/en/topics/containers/red-hat-openshift-okd)
* [Spring on Kubernetes with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/spring)
* [What is Apache Kafka?](/en/topics/integration/what-is-apache-kafka)
* [Why run Apache Kafka on Kubernetes?](/en/topics/integration/why-run-apache-kafka-on-kubernetes)
* [Ansible vs. Red Hat Ansible Automation Platform](/en/technologies/management/ansible/ansible-vs-red-hat-ansible-automation-platform)
* [VNF and CNF, what’s the difference?](/en/topics/cloud-native-apps/vnf-and-cnf-whats-the-difference)
* [What is Skopeo?](/en/topics/containers/what-is-skopeo)
* [Using Helm with Red Hat OpenShift](/en/technologies/cloud-computing/openshift/helm)
* [What is Grafana?](/en/topics/data-services/what-is-grafana)
* [What is open source software?](/en/topics/open-source/what-is-open-source-software)
* [Open source vs. proprietary software in vehicles](/en/topics/open-source/open-source-vs-proprietary-software-in-vehicles)
* [What is SD-WAN?](/en/topics/edge-computing/what-is-sd-wan)
* [What is KubeLinter?](/en/topics/containers/what-is-kubelinter)
* [What is RKT?](/en/topics/containers/what-is-rkt)
* [What is Kogito?](/en/topics/automation/what-is-kogito)
* [What is a radio access network?](/en/topics/5g-networks/what-is-radio-access-network)
* [What was CoreOS and CoreOS container Linux](/en/technologies/cloud-computing/openshift/what-was-coreos)
* [What is network virtualization?](/en/topics/virtualization/what-is-network-virtualization)
* [What is hyperconverged infrastructure?](/en/topics/hyperconverged-infrastructure/what-is-hyperconverged-infrastructure)
* [What is software-defined networking?](/en/topics/hyperconverged-infrastructure/what-is-software-defined-networking)
* [What is Jaeger?](/en/topics/microservices/what-is-jaeger)
* [What is open source?](/en/topics/open-source/what-is-open-source)
* [What is NFV?](/en/topics/virtualization/what-is-nfv)
* [What is Clair?](/en/topics/containers/what-is-clair)
* [What is Knative?](/en/topics/microservices/what-is-knative)
* [What is etcd?](/en/topics/containers/what-is-etcd)
* [What is container-native virtualization?](/en/topics/containers/what-is-container-native-virtualization)
* [What is vRAN?](/en/topics/virtualization/what-is-vran)
* [What is Docker?](/en/topics/containers/what-is-docker)
[More about this topic](/en/topics/open-source "More about this topic")