我需要了解性能计数器如何为我的研究项目工作。我已经了解了硬件如何支持事件监控。英特尔手册描述了芯片上的性能监控单元如何帮助获取计数器。我还了解了 MSR 模块如何获取各种事件的 msr 寄存器信息。
我需要学习以下内容。
1) 性能监控工具如何同时用于多个进程。我认为所有寄存器将在上下文切换期间保存,并在进程重新启动时加载。浏览互联网时,我得到了类似“pfm_context_load”和“pfm_context_unload”的信息,但没有太多信息......->“我需要有关其工作原理的更多详细信息,因此请提供一些链接和文档,以帮助我理解”
2) 性能计数器在虚拟环境中如何工作?在这种环境中测量计数器有什么问题?我浏览了几篇论文,有一些信息,但需要更多详细信息。
因此,如果有人可以向我提供有关这些主题的一些文档,或者至少指导我应该在哪里搜索所有这些信息,那将会有很大的帮助!...
如果这不是正确的论坛,那么请引导我去正确的地方。
谢谢
阿努普
答案1
使用以下方法安装 perf 工具:
sudo apt-get install linux-tools
然后,您可以使用 -e 标志使用适当的事件在可执行文件上运行 perf,例如,使用 ps 命令测量 CPU 周期:
perf stat -e cycles ps
要查看哪些事件可用,请使用:
perf list
..有些是软件事件,有些是硬件事件,就像您所指的那些。
有一些出色的文档:https://perf.wiki.kernel.org/index.php/Tutorial
希望有帮助!