【发布时间】:2016-07-23 05:52:02
【问题描述】:
因此,我一直在尝试使用 C# 中的性能计数器类,并且在探测 CPU 计数器以及我在 Windows 性能监视器中可以找到的几乎所有内容方面取得了巨大成功。但是,我无法访问“NVIDIA GPU”类别...
例如,下面这行代码就是它通常的工作方式。
PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
该代码运行良好,但出现在性能监视器中的 GPU 类别,就像处理器类别一样,C# 无法访问。以下代码行尝试访问它。
PerformanceCounter gpuCounter = new PerformanceCounter("NVIDIA GPU", "% GPU Usage","#0 Quadro K1100M(id=1, NVAPI ID=256)");
相反,它会引发“类别不存在”异常...
这是从性能监视器中看到的样子
类别明显存在,所以我的问题是……我如何访问这个计数器?
【问题讨论】:
-
我已经查看了 Nvidia PerfKit,文档不是很有帮助,所以它可能有效,但是那里的信息太多,运行时示例不足。
-
不确定这是否重要,但我注意到您提供的类别名称与屏幕截图中显示的字符串不匹配。您的代码在 K1100M 和左括号之间没有空格。同样,可能无关紧要,但我注意到了。
标签: c# gpu nvidia performancecounter