性能计数器所需信息

时间:2012-11-22 22:17:42

标签: linux performance linux-kernel performancecounter perfmon

我需要了解性能计数器如何适用于我的研究项目。 我已经了解了硬件如何支持事件监控。英特尔手册介绍了芯片上的性能监控单元如何帮助获取计数器。 我还学习了MSR模块如何获取各种事件的msr寄存器信息。

我需要学习以下内容。

1)性能监控工具如何同时用于多个流程。 我认为所有寄存器都将在上下文切换期间保存,并在进程重新开始时加载。浏览Internet我得到类似“pfm_context_load”和“pfm_context_unload”的内容,但它没有太多信息......-> “我需要有关其工作原理的更多详细信息,因此请提供一些链接,文档可以帮助我实现理解”

2)性能计数器如何在虚拟环境中工作?测量这种环境中的计数器有什么问题?我浏览了几篇论文并获得了一些信息,但需要更多详细信息。

因此,如果有人可以引导我提供有关这些主题的一些文档,或至少指导我应该在哪里搜索所有这些信息,这是一个很好的帮助! ...

如果这不是正确的论坛,那么请指引我走向正确的地方..

由于

阿努普

1 个答案:

答案 0 :(得分:1)

这两个问题都更多地是关于软件支持(操作系统)而不是性能计数器本身。我建议你深入研究linux内核中的perf_event api,因为linux世界中的大多数其他性能监控工具(如PAPI)都将它用作子系统而且它是开源的。

介绍自己的一些步骤是:

  1. 您可以从this tutorial了解该工具。
  2. 了解about the API
  3. 然后你应该进入actual implementation
  4. 查阅linux邮件列表。
  5. Performance Counters是一个非常有趣的话题,祝你好运!