Linux
更改實時 Linux VM 上的 CPU 計數
是否可以在不先停止 Linux 的情況下更改 KVM 虛擬機上的 VCPU 數量?Linux核心要求為物理機器(在支持它的硬體上)添加和刪除CPU(核心中的CPU hotplug),但我在VM上找不到任何東西以及如何為正在執行的機器分配更多/更少的資源。
為了改變 VCPU 分配,你做
sudo virsh setvcpus [vm_name] [num_vcpus] --current
從機器內部,執行
sudo udevadm monitor -k
您會看到一系列類似於
KERNEL[836.518069] add /devices/system/cpu/cpu4 (cpu) KERNEL[836.518095] bind /devices/system/cpu/cpu4 (cpu) KERNEL[836.526936] add /module/intel_rapl_perf (module) KERNEL[836.534023] remove /module/intel_rapl_perf (module) KERNEL[836.561229] add /module/intel_uncore (module) KERNEL[836.568971] remove /module/intel_uncore (module) KERNEL[836.578821] add /module/intel_cstate (module) KERNEL[836.592990] remove /module/intel_cstate (module) KERNEL[836.603800] add /module/intel_rapl (module) KERNEL[836.604120] add /devices/virtual/powercap/intel-rapl (powercap) KERNEL[836.604967] remove /devices/virtual/powercap/intel-rapl (powercap) KERNEL[836.613034] remove /module/intel_rapl (module)
可以,但最多只能達到虛擬機定義中的最大 vCPU 數量。增加最大數量需要關閉。
例如,此 VM 有兩個 vCPU,最大為 8。超過 8 個需要關閉。
<vcpu placement='static' current='2'>8</vcpu>