-1

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

/不支持>循环

  10.498901015 seconds time elapsed

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

4

3 回答 3

1

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

# sysctl kernel.perf_event_paranoid=0

于 2016-07-27T06:36:18.440 回答
1

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

ESXi5.1 或更高版本上有一个 vPMC 选项。一旦我们为我们的 VM 启用了这些 hyprevisor 选项,guest 就可以从底层硬件架构中读取适当的值。详情请点击此处

于 2016-08-19T13:00:05.033 回答
0

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

无论有什么问题,它都在您的来宾实例中。

于 2016-08-01T16:09:46.547 回答