パフォーマンス カウンター ライブラリの値を手動で再構築する

この記事では、パフォーマンス カウンター ライブラリの値を手動で再構築する方法について説明します。

適用対象:  Windows 10 - すべてのエディション、Windows Server 2012 R2
元の KB 番号:   300956

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、「レジストリをバックアップおよび復元する方法」を参照Windows。

システム モニター ツールを使用すると、一部のカウンターが見つからないか、カウンター データが含まれている可能性があります。 パフォーマンス カウンター ライブラリの基本セットが破損し、再構築が必要になる場合があります。 さらに、カスタム (Microsoft アプリケーションが作成した Microsoft .NET Framework) カウンターまたは拡張可能なカウンターを再構築する必要がある場合があります。

この動作は、次の状況で発生する可能性があります。

  • 特定の拡張可能カウンターがレジストリを破損します。
  • 一部Windows管理インストルメンテーション (WMI)ベースのプログラムによってレジストリが変更されます。

基本パフォーマンス カウンターを再構築する

拡張可能なカウンター情報は、次の両方の場所に格納されます。

  • レジストリ サブキー: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib\009 .

  • ファイル %Systemroot%\System32\Perfc009.dat%Systemroot%\System32\Perfh009.dat ファイル。

ベース パフォーマンス カウンター ライブラリを手動で再構築するには、次の手順を実行します。

  1. Perfc009.dat ファイルと Perfh009.dat ファイルを展開 します。 これらのファイルは、インストール ディスクWindowsに保存されます。圧縮されたファイルは、 で DriveLetter:\i386\perfc009.da_ 見つかりました DriveLetter:\i386\perfh009.da_ 。 フォルダー内のファイルを置き換 %Systemroot%\System32 える。

  2. レジストリ エディターを起動し、レジストリで次のキーを探します。
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Perflib

  3. レジストリで、最後の カウンター値を 1846 (10 進数)に変更し、最後のヘルプの値を 1847 (10 進数) に変更します。

  4. Performance サブキーを持つサービスを検索するには、次のレジストリ キー 探します。
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services

  5. Performance サブキー (存在する場合 ) から次の値を削除します。

    • 最初のカウンター
    • 最初のヘルプ
    • 最後のカウンター
    • 最後のヘルプ

    また、Exctrlst.exeツールを使用して、インストールされているパフォーマンス カウンターの動的リンク ライブラリ ファイル (DLL) を検索することもできます。 次に、レジストリにアクセスして DWORD 値を削除します。 これで、システム ベース カウンターのみを含む、動作可能なパフォーマンス レジストリが作成されます。

    注意

    レジストリの Performance サブキーから値を削除すると、インストール.NET Frameworkアプリケーションが次回起動すると動作しない可能性があります。 この場合は、[拡張可能カウンターの再追加] セクションのコマンドを使用して、パフォーマンス lodctr /R カウンターを再構築します。 アプリケーションを起動するときに引き続き問題が発生する.NET Framework、この記事の「カスタム.NET Frameworkのパフォーマンス カウンターを再インストールする」を参照してください。

拡張可能カウンターを再追加する

拡張カウンターは、サービスの一覧から再度追加する必要があります。 その前に、カウンターの読み込.iniファイルを識別する必要があります。

  1. コマンド プロンプト ウィンドウを開きます。

  2. コマンド プロンプトで、「」と cd %Systemroot%\System32 入力し、Enter キーを押します。

  3. コマンド プロンプトで、「」と findstr drivername *.ini 入力し、Enter キーを押します。

  4. リスト内の各ドライバー.iniファイルの名前をメモします。

  5. コマンド プロンプトでコマンドを入力 lodctr <inifile> し、Enter キーを押します。

    注意

    このコマンドでは、再読み込みするドライバー.iniファイルの名前 <inifile> を表します。

    たとえば、ASP ドライバーを再読み込みする場合は、手順 4 で説明したリストに、Axperf.ini が ASP ドライバー () の .ini ファイルです axperf.ini:drivername=ASP 。 ASP ドライバーを再読み込みするには、コマンド lodctr axperf.ini プロンプトで入力し、Enter キーを押します。

  6. リスト内の各ファイル.ini手順 5 を繰り返します。

  7. コンピューターを再起動します。

サーバー内の拡張可能カウンターやサード パーティ製カウンターを含むすべてのパフォーマンス カウンターをWindowsコマンド プロンプトで次のコマンドを入力します。 各コマンドの後に Enter キーを押します。

cd\windows\system32
lodctr /R

注意

  • /R は大文字です。 このコマンドを正常に実行するには、コンピューターの管理者権限が必要です。
  • Windows の 32 ビット 版を実行しているコンピューターでは、このコマンドは、ファイル名を使用してパフォーマンス カウンターのレジストリ文字列と情報を復元する標準的な方法 Lodctr /R:<filename> です。

Windowsサーバーは、英語のオペレーティング システムのフォルダー内.iniファイルを読み取るので、すべての C:\Windows\inf\009 カウンターを再構築します。

注意

  • クラスターまたはデータセンター製品を実行している場合は、カウンター リストを更新するためにノードをフェールオーバーする必要があります。 基本カウンターと拡張可能カウンターの両方の拡張可能カウンターを再追加するの手順を実行した後に、これを行う必要があります。
  • Exchange や SQL Server など、独自のパフォーマンス カウンターを追加するアプリケーションを実行しているシステムでは、パフォーマンス カウンターの読み込みに使用される .ini ファイルが 、 に見当たらされない %Systemroot%\System32 場合があります。 これらの.iniファイルは、通常、applications フォルダー構造の下にあります。
  • 前の手順を使用するときにパフォーマンス ライブラリに関するエラー メッセージが表示される場合は、IIS パフォーマンスダイナミック リンク ライブラリ (DLL) をアンロードして再読み込みする必要があります。
  • アプリケーションを起動するときに引き続き問題が発生する場合.NET Frameworkアセンブリ パフォーマンス カウンターの再インストールカスタム .NET Frameworkを参照してください。

カスタム のアセンブリ パフォーマンス .NET Frameworkを再インストールする

ここに示す手順を実行した後に .NET Framework アプリケーションを起動するときに引き続き問題が発生する場合は、カスタム .NET Framework アプリケーションの Performance カウンターを再構築する必要があります。 これを行うには、インストーラー ツール /i (.NET Framework) のオプションをInstallutil.exe。 パフォーマンス カウンターを作成する DLL ファイルのファイル名を知っている必要があります。

これらの手順に従い、Microsoft System Center Operations Manager 2007 がインストールされているシステムにインストールされているすべてのサービスのレジストリからカウンターを削除すると、管理サーバーが壊れている可能性があります。 Config Service、SDK Service、およびデータベース書き込みモジュールのカウンターは、INI ファイル内の拡張可能カウンターの形式では提供されません。 代わりに、インストール時に登録されます。 そのため、Operations Manager 2007 System Centerを開始すると、パフォーマンス カウンターが見つからないため、次の例のようなエラー メッセージが表示されることがあります。

Event Type: Error  
Event Source: OpsMgr SDK Service  
Event Category: None  
Event ID: 26380  
Date: date  
Time: time  
User: N/A  
Computer: MOM  
Description: The System Center Operations Manager SDK Service failed due to an unhandled exception.

この問題を Operations Manager 2007 System Center解決するには、パフォーマンス カウンターを作成した.NET Frameworkアセンブリを再インストールする必要があります。 これを行うには、インストーラー ツール /i (.NET Framework) のInstallutil.exeを使用して、次のアセンブリを再インストールします。

  • Microsoft.Mom.ConfigService.dll
  • Microsoft.Mom.Sdk.ServiceDataLayer.dll
  • Microsoft.Mom.DatabaseWriteModules.dll
  • Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

たとえば、コマンド プロンプトで次のコマンドを入力し、各コマンドの後に Enter キーを押します。

InstallUtil /i Microsoft.Mom.ConfigService.dll
InstallUtil /i Microsoft.Mom.Sdk.ServiceDataLayer.dll
InstallUtil /i Microsoft.Mom.DatabaseWriteModules.dll
InstallUtil /i Microsoft.EnterpriseManagement.HealthService.Modules.DataWarehouse.dll

注意

これらのコマンドを正常に実行するには、コンピューターの管理者権限が必要です。