获取CPU缓存丢失性能计数器

本文关键字:性能计数器 缓存 CPU 获取 | 更新日期: 2023-09-27 18:12:38

我知道cpu计算所有L1/2/3缓存缺失,原则上这个信息是可访问的。例如,有一个来自英特尔的性能查看器。我只是找不到c#的例子。这些数据可以从。net访问吗?

获取CPU缓存丢失性能计数器

你可以使用英特尔性能计数器监视器来做到这一点(至少在windows上)。除了与它捆绑在一起的其他工具之外,它还包含PCM- service - windows服务,该服务添加了PCM窗口性能计数器。一旦你下载、编译并安装了这个服务,你就可以访问二级缓存丢失(例如),就像这样简单:

var pc = new PerformanceCounter("PCM Core Counters", "L2 Cache Misses", "total_"); // instead of total_ you can use number of core
var value = pc.RawValue; // or pc.NextValue() and so on.

英特尔PCM增加了更多有趣的计数器,当然不仅仅是缓存丢失,所有这些都可以从。net访问。