KVM 主机:Ubuntu 12.04 3.2 内核在 cpuinfo 中显示不正确的“缓存大小”?

KVM 主机:Ubuntu 12.04 3.2 内核在 cpuinfo 中显示不正确的“缓存大小”?

2x Xeon E5620。总共 16 个核心。/proc/cpuinfo 显示缓存仅为 4096kb

根据英特尔的说法,这款产品应该有 12MB 的“智能缓存”。搜索 E5620 后,CPUinfo 显示了正确的数字:

cache size : 12288 KB

但是我的却显示如下:

processor       : 15
v    endor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping        : 2
microcode       : 0x1
cpu MHz         : 2400.104
cache size      : 4096 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush mmx         
bogomips        : 4800.20
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual

这是在 KVM 内核下作为裸机客户端的情况。

lscpu 显示以下内容:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                16
On-line CPU(s) list:   0-15
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s):             16
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 44
Stepping:              2
CPU MHz:               2400.104
BogoMIPS:              4800.20
Hypervisor vendor:     KVM
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              4096K
NUMA node0 CPU(s):     0-15

KVM 似乎正在窃取一些 CPU 缓存。这是为什么?

答案1

出于可移植性/兼容性的原因,默认情况下 KVM 仅模拟具有部分可用主机 CPU 功能的“标准”CPU。除了缓存减少之外,您还可以看到,例如,flagsSSE 功能均不可用。

为了向客户提供全套主机 CPU 功能,请将该-cpu host选项添加到您的 KVM/QEMU 命令行。

有关详细信息,请参阅For more information, see调整 KVM

相关内容