新聞速報

        

2014年3月4日 星期二

無法載入計數器名稱資料,因為從登錄讀取到無效的索引

執行 C# 開發的程式時,得到一個 Excption

中文: 無法載入計數器名稱資料,因為從登錄讀取到無效的索引
英文: InvalidOperationException: Cannot load Counter Name data because an invalid index '' was read from the registry.


手動重建效能計數器程式庫值

 提示字元中輸入下列命令。在每一行命令之後按 ENTER。
cd\windows\system32
lodctr /R


2023/09/11 Add

 cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R

使用 Windows Management Instrumentation (WMI) 重新同步處理計數器:

WINMGMT.EXE /RESYNCPERF 


2023/12/15  發現我自己的電腦,不見 Memory 跟  Processor 這兩個計數器

使用 lodctr /R 都說  資訊: 已順利從系統備份存放區重建效能計數器設定

發現使用查詢   lodctr /Q
可以發現 各個計數器的 (Enabled) / (Disabled) 狀態


而 lodctr /q:perfOs   (發現竟然是 Disabled)

C:\Users\Cappella>lodctr /q:perfOs

Performance Counter ID Queries [PERFLIB]:

    Base Index: 0x00000737 (1847)

    Last Counter Text ID: 0x00002A3A (10810)

    Last Help Text ID: 0x00002A3B (10811)


[PerfOS] Performance Counters (Disabled)

    DLL Name: %SystemRoot%\System32\perfos.dll

    Open Procedure: OpenOSObject

    Collect Procedure: CollectOSObjectData

    Close Procedure: CloseOSObject



此時登錄機碼,也可以發現
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\PerfOS\Performance

出現  'Disable Performance Counters' = 1     請刪除

使用  lodctr /e:perfOS   設定為 Enabled


 Memory 跟  Processor 這兩個計數器都回來了!!

PS: 這兩個計數器 屬於 perfOS 

沒有留言:

張貼留言