无法使用Linux perf,因为您的Linux内核不支持PERF_COUNT_HW_REF_CPU_CYCLES事件

时间:2016-07-26 06:32:42

标签: linux vmware perf dpdk

我只想了解有关虚拟环境的linux“perf”的信息。我试图让perf stat -e循环“我的进程”,所以当我在我的VM(运行在Vmware5.1之上)上运行此命令时,我得到的消息就像..

/不支持>循环

  10.498901015 seconds time elapsed

我可以理解,VMware hypervisor可能存在权限问题或配置错误,有人可以指出这些吗?另外,我已经阅读了内核标志“PERF_COUNT_HW_REF_CPU_CYCLES”,我应该如何检查我的内核是否启用了此标志?这有什么命令吗?

3 个答案:

答案 0 :(得分:1)

确保将perf编译到VM的内核中并通过sysctl kernel.perf_event_paranoid禁用偏执模式,即:

# sysctl kernel.perf_event_paranoid=0

答案 1 :(得分:0)

ESXi不限制来宾VM的内核权限。由于内核不知道底层虚拟机管理程序,因此我们不限制您可以从内核中获取的统计信息。

无论出现什么问题,它都在您的客户实例中。

答案 2 :(得分:0)

我在VM上运行以下命令(不是运行linux的本地harware机器),因此我们必须确保硬件PMC对VM的可见性..然后只有计数器才能由客户操作系统读取。

ESXi5.1或更高版本上有vPMC选项。一旦我们为VM启用了这些hyprevisor选项,guest就可以从底层HW架构中读取相应的值。有关详细信息chk here