我想测量影子页表与EPT的性能。我知道在kvm代码路径中,EPT和影子页表共享一些代码路径。有一个开关可用于检查是否启用了EPT。
因此,我关闭了EPT,我认为这是在KVM中使用影子页表的一种方式。我在主机上执行了一些命令:
# cat /sys/module/kvm_intel/parameters/ept
Y //check if EPT is enabled, Yes it is
# rmmod kvm_intel
# modprobe kvm_intel ept=0,vpid=0 //Re-modprobe kvm_intel, but turn off EPT and VPID
# cat /sys/module/kvm_intel/parameters/ept
N // EPT is disabled
# cat /sys/module/kvm_intel/parameters/vpid
Y //VPID is still enabled在这些通信之后,我期望EPT被禁用,然而,我创建了一个具有4个vcpu的VM,但是在VM中,我在VM中使用htop只找到I个vcpu。我也不知道原因。
因此,我再次打开ept,我可以看到在使用htop的vm中有4个vcpu。但是,在另一台服务器上,我关闭了ept,在VM中,我仍然可以找到4个vcpu。
在主机中,我测试了QEMU线程数:
pstree -p | grep qemu
|-qemu-kvm(20594)-+-{qemu-kvm}(20612)
| |-{qemu-kvm}(20613)
| |-{qemu-kvm}(20614)
| |-{qemu-kvm}(20615)
| |-{qemu-kvm}(20618)
| `-{qemu-kvm}(23429)仍然有多个线程。
在KVM中,我使用lscpu检查:
# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0
Off-line CPU(s) list: 1-3
Thread(s) per core: 1
Core(s) per socket: 1
座: 1
NUMA 节点: 1
厂商 ID: GenuineIntel
CPU 系列: 6
型号: 62
型号名称: Intel(R) Xeon(R) CPU E5-2640 v2 @ 2.00GHz
步进: 4
CPU MHz: 1999.999
BogoMIPS: 3999.99
超管理器厂商: KVM
虚拟化类型: 完全
L1d 缓存: 32K
L1i 缓存: 32K
L2 缓存: 4096K
NUMA 节点0 CPU: 0
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm fsgsbase tsc_adjust smep erms xsaveopt发布于 2018-05-25 17:33:49
由于命令格式不正确,VPID仍处于启用状态
# modprobe kvm_intel ept=0 vpid=0(Use spaces instead of commas)https://stackoverflow.com/questions/46589149
复制相似问题