2013-04-11 53 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,但我從來沒有嘗試過。