如何手動重建效能計數器的 Windows Server 2008 64 位元或 Windows Server 2008 R2 系統


狀況


當您使用 「 效能監視器 」 工具時,某些計數器可能遺失,或不包含計數器的資料。效能計數器程式庫可能會損毀,並需要重新建置。
您可能會看到應用程式記錄檔中的下列錯誤:

記錄檔名稱︰應用程式
來源: Microsoft-Windows-IIS-W3SVC-PerfCounters
事件識別碼: 2002年
層級: 錯誤
關鍵字: 傳統
描述:
設定失敗的 Web 服務計數器,請確定已正確登錄您的 Web 服務計數器。

記錄檔名稱︰應用程式
來源: IISInfoCtrs
事件識別碼: 1001年
層級: 錯誤
關鍵字: 傳統
描述:
無法從登錄讀取第一個計數器索引值。根據登錄所傳回的錯誤代碼是 DWORD 0 的資料。

原因


如果某些 「 可延伸計數器損毀的登錄中,或者 Windows 管理檢測 WMI 為主的程式會修改登錄,可能會發生這個問題。

解決方案


確保計數器不會在登錄中停用


透過登錄設定,可能會停用計數器。請檢查下列的登錄位置,以確保未停用計數器。

HKLM\System\CurrentControlSet\Services\%servicename%\Performance

%servicename%表示任何服務,與效能計數器。例如: PerfDisk、 PerfOS,等等。


可能在這些位置中的"DisablePerformanceCounters"的登錄機碼。根據下列的 TechNet 文件中,這個值應該設為 0。如果值是 0 以外的任何項目可能會停用計數器。


停用效能計數器
http://technet.microsoft.com/en-us/library/cc784382.aspx

值為 1 時表示計數器已停用。
2 表示已停用 32 位元計數器值。
值為 4 measn 64 位元計數器已停用。

 

重建所有的效能計數器,包括可延伸和協力廠商的計數器


若要重建所有的效能計數器,包括可延伸和協力廠商的計數器,請在系統管理的命令提示字元中輸入下列命令。每個命令之後按ENTER鍵。

重建計數器:
cd c:\windows\system32
lodctr /R
cd c:\windows\sysWOW64
lodctr /R

Resyncing 計數器與 Windows 管理檢測 (WMI):
     WINMGMT.EXE /RESYNCPERF

停止並重新啟動 「 效能記錄及警示 」 服務。
停止並重新啟動 Windows 管理檢測服務。

建立新資料收集器集合工具 (不要使用現有資料收集器集合工具)。

某些情況下,執行所有的計數器 lodctr /R 可能無法復原。如果您注意到發生這種情形,請確認檔案c:\windows\system32\PerfStringBackup.INI 包含適當的資訊。您可以從相同的電腦複製這個檔案,以還原計數器。可能有此檔案中僅有些微的不同電腦,但如果您有任何差別種較為激烈的大小,它可能會遺失資訊。永遠建立備份複本,再取代,並不保證從另一部電腦複製這個檔案會還原所有的計數器。如果可能的話,比較要備份的電腦來查看如果檔案大小是否已經在某個時間點減少及時的檔案。

 

將多個計數器中,安裝效能計數器的 < ini"檔案的位置會受到"windows\winsxs",例如與="">

如果您看到下列錯誤:

記錄檔名稱︰應用程式
來源: Microsoft-Windows-IIS-W3SVC-PerfCounters
事件識別碼: 2002年
層級: 錯誤
關鍵字: 傳統
描述:
設定失敗的 Web 服務計數器,請確定已正確登錄您的 Web 服務計數器。

記錄檔名稱︰應用程式
來源: IISInfoCtrs
事件識別碼: 1001年
層級: 錯誤
關鍵字: 傳統
描述:
無法從登錄讀取第一個計數器索引值。根據登錄所傳回的錯誤代碼是 DWORD 0 的資料。


您必須使用下列的目錄"c:\Windows\winsxs"中的計數器安裝 ini 檔案。

很可能您需要修復的計數器存在於多個資料夾。
在這些情況下,您可能需要使用嘗試錯誤找出正確的 ini 檔案。
E.g:

Dir C:\Windows\winsxs\amd64_microsoft-windows-iis-metabase*

在這個範例中,請嘗試從每個資料夾,請使用安裝 infoctrs.ini:

Lodtr infoctrs.ini

成功時,您會看到下列項目,應用程式日誌中:

記錄檔名稱︰應用程式
來源: Microsoft Windows LoadPerf
事件識別碼: 1000
層級: 資訊
描述:
Inetinfo (inetinfo) 服務的效能計數器的效能計數器。記錄資料在資料區段中包含新的索引值指派到這個服務。

相同必須完成下列計數器:

amd64_microsoft-windows-iis-w3svc*

lodctr w3ctrs.ini

之後,您會看到:

記錄檔名稱︰應用程式
來源: Microsoft Windows LoadPerf
事件識別碼: 1000
層級: 資訊
描述:
W3svc 的效能計數器 (World Wide Web 發行服務) 服務的效能計數器。記錄資料在資料區段中包含新的索引值指派到這個服務。

遵循這些步驟中,重新執行 「 WINMGMT /RESYNCPERF"

更多的資訊


請注意,沒有與相關的已知問題 PerfDisk.dll 在 Windows Server 2008 或 Vista 系統上的 hotfix。此 hotfix 已針對這些作業系統復原到 SP2。如果您是在 SP1 或下方,請套用下列 hotfix:

961382 應用程式載入 Perfdisk.dll 檔案,在執行 Windows Server 2008 或 Windows Vista 如果有很多磁碟裝置在電腦上的電腦上之後,應用程式當機
http://support.microsoft.com/default.aspx?scid=kb;EN-US; 961382

 

其他資訊:

971714 報告產生處理程序可能會停止回應,當您在使用中的目錄診斷範本來產生報告,以在 Windows Server 2008 為基礎的網域控制站上執行 Perfmon.exe
http://support.microsoft.com/default.aspx?scid=kb;EN-US; 971714

當您嘗試存取遠端電腦上的 「 效能監視器 (Perfmon.exe) 時,出現 969639 錯誤訊息: 「 拒絕存取 」
http://support.microsoft.com/default.aspx?scid=kb;EN-US; 969639

300956 如何手動重建效能計數器程式庫值
http://support.microsoft.com/default.aspx?scid=kb;EN-US; 300956