Skip to content

Latest commit

 

History

History
19 lines (12 loc) · 935 Bytes

K01.md

File metadata and controls

19 lines (12 loc) · 935 Bytes

KVM虚拟化原理

CPU虚拟化

Kvm虚拟化需要CPU硬件支持,目前Intel和AMD均支持虚拟化。下面的命令可以查看CPU是否支持虚拟化。

# 以root用户运行
# egrep -o '(vmx|svm)' /proc/cpuinfo
vmx

如果输出vmx或者svm,则说明当前的CPU支持虚拟化。

一个Kvm虚拟机在宿主机上实际上是一个qemu-kvm进程,与其他Linux进程一样被调度。虚拟机中的每一个虚拟vCPU对应qemu-kvm进程中的一个线程。如下图所示。

在上图的例子中,宿主机有两个物理CPU,并启动了两个Kvm虚拟机VM1和VM2,分别具有两个vCPU和四个vCPU。那么对应地,VM1和VM2分别有两个和四个线程在宿主机的物理CPU调度管理。因此,虚拟机vCPU数量可以超过物理CPU的数量,这种情况叫做 CPU的超配(overcommit)。

KVM的超配特性使得虚拟机可以充分利用宿主机的CPU资源。