我在Intel i7-3770 CPU上使用Linux 4.19.2(ubuntu 16.04)。我使用过perf之类的工具来进行性能监控。我想编写一段基本的代码来读取性能计数器,而无需使用任何此类工具。
我遇到了rdpmc指令。在使用它之前,我在配置寄存器以计数特定事件方面遇到麻烦。我查看了诸如https://software.intel.com/en-us/forums/software-tuning-performance-optimization-platform-monitoring/topic/745751之类的论坛,但这无济于事。 在此处配置PMU的确切含义是什么?怎么办呢?
我想读取内核代码本身,所以没有特权问题。最简单的方法是什么?
而且,rdpmc是开销最小的方法吗?