2013-04-11 81 views
2

性能计数器在c#中不工作。我认为这是一个系统问题。因为,它在其他系统中工作正常。如何纠正?它显示了下面的代码错误:从Ranorex工具性能计数器不工作

代码:

string prcName = "chrome"; 
PerformanceCounter counter = new PerformanceCounter("Process", "Working Set - Private",prcName) 
Report.Info("MonAlbum memory", (counter.RawValue/1024).ToString("#,##0")+" KB"); 

错误:

Can not find the performance counter with the specified classname 'Process' countername 'Working Set - Private'

+0

使用'性能监视器'来检查计数器是否存在。 – Schaliasos 2013-04-11 06:54:20

+0

安全权限问题? – 2013-04-11 07:00:02

+2

计数器的名称因OS版本而异。另外,有时它们会被破坏,将所有的计数器都变成数字。正如沙利亚索斯所说,用perfmon找到它。正如cad说的,尝试在管理员权限下运行Visual Studio来排除安全问题。 – 2013-04-11 08:09:24

回答

0

感谢您分享宝贵的想法。 实际的问题是注册表被破坏。因为该代码段不起作用。重新安装操作系统就解决了它。

0

你是一个老的操作系统版本下运行的测试?

正如here所述,Windows Server 2003和Windows XP不支持Process/Working Set - Private。

enter image description here

它似乎有一个解决办法here,但我从来没有尝试过。