我正在联想X1笔记本电脑上运行KVM / QEMU。
来宾操作系统是Ubuntu 15.04 x86_64。
现在,我想在来宾操作系统中运行'perf'命令,但我在dmesg中的来宾操作系统中找到了以下内容。
...
[0.055442] smpboot:CPU0:Intel Xeon E3-12xx v2(Ivy Bridge)(fam:06,型号:3a,踩踏:09)
[0.056000]性能事件:不支持的p6 CPU型号58无PMU驱动程序,仅限软件事件。
[0.057602] x86:引导SMP配置:
[0.058686] ....节点#0,CPU:#1
[0.008000] kvm-clock:cpu 1,msr 0:1ffd6041,辅助cpu时钟
... 因此,perf命令无法在来宾操作系统中运行硬件PMU事件。
如何从主机向Ubuntu guest虚拟机启用硬件PMU?
谢谢,
-Tao
答案 0 :(得分:1)
Page https://github.com/mozilla/rr/wiki/Building-And-Installing提供了一些如何启用来宾PMU的提示:
中的相同建议Qemu:在QEMU命令行上使用
-cpu host
Libvirt / KVM:在域XML定义中指定CPU直通:
<cpu mode='host-passthrough'/>
我将<cpu mode='host-passthrough'/>
行编辑为/etc/libvirt/qemu/my_vm_name.xml
文件而不是<cpu>...</cpu>
块。
(在virt-manager中使用“host-passthrough”作为CPU“Model:”字段 - http://blog.wikichoon.com/2016/01/using-cpu-host-passthrough-with-virt.html)
现在PMU工作,在VM内部使用perf stat echo
进行测试,/proc/cpuinfo
中有“arch_perfmon”,dmesg|grep PMU
启用了PMU。
-cpu host
选项:
/usr/bin/kvm-spice ... -machine ...,accel=kvm,... -cpu host ...