Kvm-Virtualization

具有 1 個 vCPU 的 KVM 的 CPU 負載高於 1

  • December 22, 2020

我有一個在 4 核機器上執行 1 個 vCPU 的 KVM。

lscpu在 KVM 中給了我 1 個 CPU 和 1 個核心:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   43 bits physical, 48 bits virtual
CPU(s):                          1
On-line CPU(s) list:             0
Thread(s) per core:              1
Core(s) per socket:              1
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           13
Model name:                      QEMU Virtual CPU version 2.5+
Stepping:                        3
CPU MHz:                         2300.000
BogoMIPS:                        4600.00
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       32 KiB
L1i cache:                       32 KiB
L2 cache:                        4 MiB
L3 cache:                        16 MiB
NUMA node0 CPU(s):               0
Vulnerability Itlb multihit:     KVM: Vulnerable
Vulnerability L1tf:              Mitigation; PTE Inversion
Vulnerability Mds:               Vulnerable: Clear CPU buffers attempted, no microcode; SMT Host state unknown
Vulnerability Meltdown:          Mitigation; PTI
Vulnerability Spec store bypass: Vulnerable
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full generic retpoline, STIBP disabled, RSB filling
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 clflush mmx fxsr sse sse2 syscall nx lm rep_good nopl xtopology cpuid tsc_known_freq pni cx16
                                 x2apic hypervisor lahf_lm cpuid_fault pti

但是當我top在 KVM 中執行時,平均負載有時會超過 2 或 3,就好像我的 KVM 有超過 1 個核心一樣。這是為什麼 ?有沒有辦法糾正 top 顯示的負載,使其與 KVM 的 1 個 vCPU 一致?

平均負載與正在執行或準備執行的任務數成正比。它不反映 CPU 的數量。

間接地,您可以使用它來計算使用率指標。平均負載與 CPU 的比率意味著什麼取決於工作負載。當這個值超過 1 時,一些計算量大的應用程序的響應時間會很差。其他的可以容忍更高一點。極端條件下的主機可以達到數十甚至更多,而不會完全卡住。

引用自:https://serverfault.com/questions/1047044