我怎样才能访问英特尔CPU计数器(How can i access the Intel CPU Co

2019-09-23 06:13发布

是否有任何小工具,让我获得由英特尔CPU计数器收集的数据(如L1 / L2高速缓存未命中,分支预测失败......你知道有他们的hunderts现代酷睿2 CPU的)。

它必须在Windows上运行(同时能够使用Solaris,FreeBSD上,Linux的使用,MacOSX的当然会是很好)。

Answer 1:

此线程似乎有点老了,但如果你仍然有兴趣,我写了一个HOWTO最近在仅仅使用在Linux中RDMSR和WRMSR更多这个话题。 它仅与英特尔非核为Westmere处理器的性能计数器的交易,但我描述的过程可能会帮助你,如果你还没有准备好你所需要的。 我敢肯定,Windows有相当的一些程序或功能调用RDMSR和WRMSR。 问题是你需要环0(内核模式)读取的MSR。 我不知道怎么做,在Windows中。 我不能帮助任何Windows的问题,但也许可以,如果您有任何回答一些MSR有关的问题。 我决不是一个专家,但。



Answer 2:

检查出不正是你想要做什么哪英特尔PCM(性能计数器监视器)工具。

链接: https://software.intel.com/en-us/articles/intel-performance-counter-monitor-a-better-way-to-measure-cpu-utilization

英特尔PCM提供了丰富的API,允许你来测试您的代码。 此外,到目前为止,PCM是阅读非核事件来说的唯一工具。



Answer 3:

PAPI是一个非常有前途的领先优势,不过,我相信他们的Windows(因此.NET C#)好几年前就已经停止支持。

在前面的窗户,Visual Studio 2010的高级版自带性能探险。 如果您在仪表模式下运行任何项目或程序,您可以访问硬件的事件,如退休指令。

其结果可能是好坏参半,并根据不一致的外部因素,但它与Visual Studio完美集成在一起,你会得到每方法/模块级详细数(平均,最高,总计)上。

英特尔V-调整性能分析器本身也暴露出这些。 我还没有使用这个工具玩过没,但它可能是比Visual Studio 2010中公开了一个更灵活的API。



Answer 4:

不是你写的你正在寻找一个应用程序或库。

对于Windows有英特尔VTune。 但是,这不完全是一个小工具。 对于Linux的我已经使用oprofile的,它没有内核补丁的工作。



Answer 5:

在OS X上,鲨鱼,您可以从两局获得的数据。 我不知道什么是在Windows上使用比英特尔其他工具(VTune™可视化,通过drhirsch提到)。



Answer 6:

试试这个http://icl.cs.utk.edu/papi/它是一个完整的库,使您可以读取任何CPU计数器的数据,既适用于Windows和Linux [和其他OS]



Answer 7:

这个线程看起来很老。 但尽管如此,上述所有柜台都可以在英特尔PCM 。这些计数器可用于为Microsoft性能监视器插件或命令提示符界面。 英特尔PCM给出像L2和L3高速缓存的命中率,高速缓存未命中等信息



文章来源: How can i access the Intel CPU Counter