この記事は、一部のパフォーマンス カウンター ライブラリが破損し、再構築が必要になる問題を解決するのに役立ちます。
元の KB 番号: 2554336
現象
パフォーマンス モニター ツールを使用すると、一部のカウンターが見つからないか、カウンター データが含まれていない可能性があります。 パフォーマンス カウンター ライブラリが破損し、再構築が必要になる可能性があります。
アプリケーション ログに次のエラーが表示される場合があります。
Log Name: Application
Source: Microsoft-Windows-IIS-W3SVC-PerfCounters
Event ID: 2002
Level: Error
Keywords: Classic
Description:
Setting up Web Service counters failed, please make sure your Web Service counters are registered correctly.
Log Name: Application
Source: IISInfoCtrs
Event ID: 1001
Level: Error
Keywords: Classic
Description:
Unable to read the first counter index value from the registry. The error code returned by the registry is data DWORD 0.
原因
この動作は、特定の拡張可能カウンターによってレジストリが破損した場合、または Windows Management Instrumentation (WMI) ベースのプログラムによってレジストリが変更された場合に発生する可能性があります。
解決方法
この問題を解決するには、次の方法を使用します。
レジストリでカウンターが無効になっていないことを確認する
カウンターは、レジストリ設定を使用して無効にすることができます。 カウンターが無効になっていないことを確認するには、次のレジストリの場所を確認します。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\%servicename%\Performance
Note
%servicename%
は、パフォーマンス カウンターを持つ任意のサービスを表します。 たとえば、PerfDisk、PerfOS などです。
これらの場所には、 DisablePerformanceCounters のレジストリ キーが存在する場合があります。 この記事 Disable パフォーマンス カウンターに従って、この値を 0 に設定する必要があります。 値が 0 以外の場合は、カウンターが無効になる可能性があります。
- 値 1 は、カウンターが無効であることを意味します。
- 値 2 は、32 ビット カウンターが無効になっていることを意味します。
- 値 4 は、64 ビット カウンターが無効であることを意味します。
拡張可能なカウンターやサード パーティ製カウンターを含むすべてのパフォーマンス カウンターを再構築する
拡張カウンターやサード パーティ製カウンターを含むすべてのパフォーマンス カウンターを再構築するには、管理コマンド プロンプトで次のコマンドを入力します。 各コマンドの後 ENTER キーを押します。
カウンターを再構築します。
cd c:\windows\system32 lodctr /R cd c:\windows\sysWOW64 lodctr /R
Windows Management Instrumentation (WMI) を使用してカウンターを再同期します。
WINMGMT.EXE /RESYNCPERF
パフォーマンス ログとアラート サービスを停止して再起動します。
Get-Service -Name "pla" | Restart-Service -Verbose
Windows Management Instrumentation サービスを停止して再起動します。
Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
新しいデータ コレクター セットを作成します (既存のデータ コレクター セットは使用しないでください)。
lodctr /R
を実行しても、すべてのカウンターが復旧されない場合があります。 これが発生している場合は、ファイル c:\windows\system32\PerfStringBackup.INI
適切な情報が含まれていることを確認します。 このファイルを同じコンピューターからコピーして、カウンターを復元できます。 このファイルには、コンピューター間で若干の違いがある場合があります。 しかし、サイズの大幅な違いに気付いた場合は、情報が不足している可能性があります。 置き換える前に必ずバックアップ コピーを作成してください。 別のコンピューターからこのファイルをコピーしても、すべてのカウンターが復元される保証はありません。 可能であれば、ファイルをマシンのバックアップと比較して、ある時点でファイル サイズが減少したかどうかを確認します。
多くのカウンターの場合、perf カウンターをインストールする ini ファイルの場所は、IIS の ini ファイルなど、 windows\winsxs
下にあります。
次のエラーが表示される場合:
Log Name: Application
Source: Microsoft-Windows-IIS-W3SVC-PerfCounters
Event ID: 2002
Level: Error
Keywords: Classic
Description:
Setting up Web Service counters failed, please make sure your Web Service counters are registered correctly.
Log Name: Application
Source: IISInfoCtrs
Event ID: 1001
Level: Error
Keywords: Classic
Description:
Unable to read the first counter index value from the registry. The error code returned by the registry is data DWORD 0.
カウンターを使用して、ディレクトリ c:\Windows\winsxs
に ini ファイルをインストールする必要があります。
修復する必要があるカウンターには、複数のフォルダーが存在する場合があります。 このような場合は、正しい ini ファイルを見つけるために、試用版とエラーを使用する必要がある場合があります。
たとえば、 にします。
Dir C:\Windows\winsxs\amd64_microsoft-windows-iis-metabase*
この例では、次を使用して各フォルダーからinfoctrs.iniをインストールしてみてください。
Lodtr infoctrs.ini
成功すると、アプリケーション ログに次のエントリが表示されます。
Log Name: Application
Source: Microsoft-Windows-LoadPerf
Event ID: 1000
Level: Information
Description:
Performance counters for the inetinfo (inetinfo) service were loaded successfully. The Record Data in the data section contains the new index values assigned to this service.
次のカウンターでも同じ操作を行う必要があります。
amd64_microsoft-windows-iis-w3svc*
lodctr w3ctrs.ini
その後、次の情報が表示されます。
Log Name: Application
Source: Microsoft-Windows-LoadPerf
Event ID: 1000
Level: Information
Description:
Performance counters for the W3SVC (World Wide Web Publishing Service) service were loaded successfully. The Record Data in the data section contains the new index values assigned to this service.
次の手順に従って、 WINMGMT /RESYNCPERF
再実行します。
詳細
Windows Server 2008 および Vista システムのPerfDisk.dllに関する既知の問題の修正プログラムがあります。 この修正プログラムは、これらのオペレーティング システムの Service Pack 2 に展開されています。 Service Pack 1 以下の場合は、修正プログラム 961382を適用します。