C#获取CPU缓存未命中性能计数器
作者:互联网
我知道CPU会计数所有L1 / 2/3高速缓存未命中,并且原则上可以访问此信息.例如.有英特尔的性能查看器.我只是在C#中找不到示例.可以从.NET访问此数据吗?
解决方法:
好了,您可以(至少在Windows上)使用Intel Perfomance Counter Monitor进行此操作.除捆绑提供的其他工具外,它还包含PCM-Service-Windows服务,该服务添加了PCM Windows性能计数器.下载,编译和安装此服务后,您可以像这样轻松地访问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访问.
标签:cpu-cache,c,net 来源: https://codeday.me/bug/20191119/2038447.html