Introduction
KVM Virtualization Architecture
The Kernel Virtual Machine (KVM) virtualization software is deployed on physical servers to virtualize hardware resources, so that one physical server can be used as multiple virtual servers. Figure shows the components of the KVM platform. QEMU-KVM virtualizes computing, storage, and network resources.
Tuning Flow
This document describes how to adjust the hardware parameters, OS, and virtualization settings on a Kunpeng server with CentOS 7.6 to achieve optimal KVM virtualization performance.
Figure 2 shows the process of performance tuning on the KVM platform.
Top N Tuning Items
The following table lists the most frequently used tuning items that affect or improve the KVM performance. You can select proper tuning items based on your requirements to achieve optimal performance.
|
Tuning Item |
Description |
Application Scenario |
Remarks |
|---|---|---|---|
|
BIOS |
Set the memory refresh rate to Auto. |
For commercial use |
Significantly improves memory bandwidth performance. For details, see Setting the Memory Refresh Rate to Auto. |
|
NUMA affinity |
Ensure that each vCPU and its memory are in the same physical node to prevent cross-die and cross-chip memory access. |
For commercial use |
Significantly improves CPU virtualization performance. For details, see Setting 1:1 Core Binding and Same-Die Memory Access. |
|
CPU core binding |
Bind each vCPU to a core. |
For commercial use |
Significantly improves CPU virtualization performance. For details, see Binding the VM to Cores. |
|
Bind vCPUs to cores in a CPU cluster |
For POC tests only |
Significantly improves memory bandwidth performance. For details, see Binding the VM to Cores. |
|
|
Memory huge page |
Disable the transparent huge page feature and use 512 MB huge pages. |
For commercial use. |
Significantly improves CPU virtualization performance by about 5% in CentOS 7.6. For details, see Using Huge Pages for the VM. |

