Windows Server 2008 64 ビットまたは Windows Server 2008 R2 システムのパフォーマンス カウンターを手動で再構築する

この記事は、一部のパフォーマンス カウンター ライブラリが破損し、再構築が必要になる問題を解決するのに役立ちます。

適用対象: Windows Server 2012 R2
元の 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

注:

%servicename% は、パフォーマンス カウンターを持つ任意のサービスを表します。 たとえば、PerfDisk、PerfOS などです。

これらの任意の場所に DisablePerformanceCounters のレジストリ キーが存在する場合があります。 「 パフォーマンス カウンターを無効にする」の記事に従って、この値を 0 に設定する必要があります。 値が 0 以外の場合は、カウンターが無効になる可能性があります。

  • 値 1 は、カウンターが無効になっていることを意味します。
  • 値 2 は、32 ビット カウンターが無効になっていることを意味します。
  • 値 4 は、64 ビット カウンターが無効になっていることを意味します。

拡張可能なカウンターとサード パーティ製カウンターを含むすべてのパフォーマンス カウンターを再構築する

拡張可能なカウンターとサード パーティ製カウンターを含むすべてのパフォーマンス カウンターを再構築するには、管理コマンド プロンプトで次のコマンドを入力します。 各コマンドの後 で Enter キーを 押します。

  1. カウンターを再構築します。

    cd c:\windows\system32
    lodctr /R
    cd c:\windows\sysWOW64
    lodctr /R
    
  2. Windows Management Instrumentation (WMI) を使用してカウンターを再同期します。

    WINMGMT.EXE /RESYNCPERF
    
  3. パフォーマンス ログとアラート サービスを停止して再起動します。

    Get-Service -Name "pla" | Restart-Service -Verbose
    
  4. Windows Management Instrumentation サービスを停止して再起動します。

    Get-Service -Name "winmgmt" | Restart-Service -Force -Verbose
    
  5. 新しいデータ コレクター セットを作成します (既存のデータ コレクター セットは使用しないでください)。

場合によっては、実行中 lodctr /R にすべてのカウンターが復旧されない場合があります。 これが発生した場合は、ファイル c:\windows\system32\PerfStringBackup.INI に適切な情報が含まれていることを確認します。 このファイルを同じコンピューターからコピーして、カウンターを復元できます。 このファイルには、コンピューター間で若干の違いがある可能性があります。 しかし、大幅なサイズの違いに気付いた場合は、情報が不足している可能性があります。 置き換える前に、必ずバックアップ コピーを作成してください。 このファイルを別のコンピューターからコピーしても、すべてのカウンターが復元される保証はありません。 可能であれば、ファイルをマシンのバックアップと比較して、ファイルサイズが特定の時点で減少しているかどうかを確認します。

多くのカウンターの場合、perf カウンターをインストールする ini ファイルの場所は、 の下 windows\winsxsにあります (IIS の ini ファイルなど)。

次のエラーが表示される場合:

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を適用します。

関連情報