Kvm-Virtualization
具有 1 個 vCPU 的 KVM 的 CPU 負載高於 1
我有一個在 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 時,一些計算量大的應用程序的響應時間會很差。其他的可以容忍更高一點。極端條件下的主機可以達到數十甚至更多,而不會完全卡住。