KVM Host: System Requirements
Many of the system requirements for KVM hosts can depend on the kinds of applications running on the virtual machine (VM) and the amount of work they're expected to perform.
The following table describes the minimum system requirements and suggested guidelines for deploying KVM hosts.
Bare metal host |
KVM can be used when it's run on a bare metal host. Note that nested virtualization scenarios aren't supported for KVM deployments. |
CPU |
The host system CPU must have virtualization features for Intel (VT-x) or AMD (AMD-V) enabled. Arm (aarch64) CPUs can also be used. If virtualization features aren't available, check that virtualization is enabled in the system firmware BIOS or UEFI. As a rule of thumb, you can start with the following virtual CPU to host CPU ratios (this ratio is of distinct CPU cores and assumes SMT is enabled):
The ratio of virtual CPUs to host CPUs can be calculated by running performance tests on VM and host systems. Deciding on acceptable performance depends on many factors such as, for example:
|
Memory |
3 GB reserved for the host is a good starting point but memory requirements for the host operating system scale with the amount of physical memory available. For systems with lots of available physical memory, increase the reserved memory for the host operating system. For example, on a system with 1 TB memory, We recommend at least 20 GB available for the host operating system. If system work on a host and all VMs starts exceeding the available physical RAM, the performance impact is severe. However, if VMs are typically idle, you might not need to allocate as much RAM. Ensure you do performance testing to ensure that applications always have enough memory. |
Storage |
The minimum disk space required for the host operating system is typically 6 GB. Each VM requires its own storage for the guest operating system and for swap usage. Cater to around 6 GB, at minimum, per VM that you intend to create, but consider the purpose of the VM and scale accordingly. |