C#获取CPU缓存未命中性能计数器

时间:2015-09-13 18:39:51

标签: c# .net cpu-cache

我知道CPU计算所有L1 / 2/3缓存未命中数,原则上可以访问此信息。例如。英特尔有一个性能查看器。我只是在C#中找不到一个例子。这些数据是否可以从.NET访问?

1 个答案:

答案 0 :(得分:3)

你可以使用Intel Perfomance Counter Monitor在(至少在Windows上)这样做。除了捆绑的其他工具外,它还包含PCM-Service-windows服务,可添加PCM窗口性能计数器。下载,编译和安装此服务后,您可以访问L2缓存未命中(例如),就像这样简单:

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访问。