ページ テーブル エントリの空き容量が "警告" のしきい値に達した

[このトピックの目的は、Exchange Server アナライザ ツールが提起した特定の問題に取り組むことです。解決策を適用する対象は、Exchange Server アナライザ ツールを実行し、その特定の問題が発生しているシステムに限定する必要があります。無料でダウンロードして入手できる Exchange Server アナライザ ツールは、トポロジ内の各サーバーから構成データをリモートで収集し、データを自動的に分析します。生成されるレポートには、構成上の重要な問題点、潜在的な問題点、および製品の各種設定で既定値以外のものが、詳細に記載されます。これらの推奨事項に従うことにより、パフォーマンス、スケーラビリティ、信頼性、およびアップタイムの向上を達成できます。このツールの詳細、または最新バージョンのダウンロードについては、「Exchange Server ベスト プラクティス アナライザ ツール バージョン 2 のダウンロード」(https://go.microsoft.com/fwlink/?linkid=34707) を参照してください。]  

トピックの最終更新日: 2009-09-14

Microsoft® Exchange Server アナライザ ツールは、Win32_PerfRawData_PerfOS_Memory Microsoft WMI (Windows® Management Instrument) クラスに対してクエリを実行し、FreeSystemPageTableEntries オブジェクトの現在の値を判断します。FreeSystemPageTableEntries の値が 5000 より大きく 8000 以下である場合は、警告が表示されます。

Microsoft Windows Server™ 2003 と Windows 2000 Server は、搭載されている物理 RAM の量とは無関係に、4 GB までのメモリ アドレス スペースのアドレスを直接指定することができます。プロセスの観点からは、仮想アドレスのどの要素も物理メモリの特定のバイトを参照することになります。各仮想アドレスを対応する物理アドレスに変換またはマッピングする処理は、仮想メモリ マネージャ (VMM) とプロセッサ メモリ管理ユニット (MMU) によって行われます。VMM は、RAM を固定サイズのページ フレームに分割し、これらのページ フレームに関する情報を格納するシステム ページ テーブル エントリ (PTE) を作成してマッピングを実行します。システム PTE は小容量のカーネル モードのメモリ バッファで、ディスク I/O サブシステムとネットワークとの通信を行うために使用されます。それぞれの PTE はページ フレームを表し、VMM がページを見つけるための必要な情報を含んでいます。

4 KB のページ サイズを使用する x86 ベースのシステムでは、2 GB のアドレス スペースをマッピングするために必要な PTE の最大数は 524,288 (2 GB ÷ 4 KB) です。/3GB スイッチを使用する同様のシステムでは、3 GB のアドレス スペースをマッピングするために必要な PTE の数は 786,432 (3 GB ÷ 4 KB) です。一般的なシステムでは、この領域は以下のように使用されます。

  • 一般的な用途のために、最大で 50,000 の PTE (約 195 MB のアドレス スペース) が予約されます。
  • 他の PTE は、システム キャッシュ、ハイパースペース、ページ プール、非ページ プール、クラッシュ ダンプ領域、その他のマッピングに使用されます。

この PTE プールのサイズは、システム内の物理メモリの容量に基づいて、システムの起動時に自動的に決定されます。このプールは、ページ プールと非ページ プール (非ページ プールもシステム内の物理メモリの容量と共に増加します) の間に割り当てられます。

システム PTE プールは、頻繁に使用され、断片化が激しくなることがあります。これにより、ドライバが読み込めなくなる事態が生じることがあります。また、システム PTE プールがすべて使い果たされると、システムの他の部分のパフォーマンスが低下し、スレッドが作成されなくなる、システムが停止する、さらにはシステムがクラッシュするなどの問題が発生する可能性があります。

Exchange Server コンピュータが正しく動作するためには、使用可能なシステム PTE が常に少なくとも 8,000 必要です。空いているシステム PTE の数が 5,000 未満になると、「ページ テーブル エントリの空き容量が "致命的" のしきい値に達した」で説明されているエラーが表示されます。空いているシステム PTE の数が 8,000 未満になっても、5,000 より多く残っている場合は、この警告が表示されます。

この問題を解決するには、次の手順を使用して、Exchange Server コンピュータのオペレーティング システムに対して適切な SystemPages レジストリ値を設定します。1 GB 以上の RAM を備えた Windows Server 2003 上で Exchange Server 2003 Service Pack 1 (SP1) を実行している場合は、SystemPages レジストリ キーを 0 に設定することをお勧めします。この推奨事項は、Windows 2000 Server の場合とは異なります。Windows 2000 Server では、SystemPages の値を 10 進数の 31,000 に設定するよう推奨されています。

次に説明する手順を実行した後で、空いているシステム PTE の数を監視します。Windows システム モニタ (パフォーマンス モニタとも呼ばれます) で Memory オブジェクトの Free System Page Table Entries カウンタを監視すると、システム PTE の数を監視できます。次に説明するレジストリの変更を行った後でも依然として空いているシステム PTE の数が少ない場合は、Exchange Server コンピュータが最適に構成されていることを確認するために次の点を調べます。

  • ドライバ   システム PTE の数が不足する最も一般的な原因の 1 つは、ドライバの誤動作です。ハードウェアの製造元に連絡し、すべてのハードウェアで最新のドライバを使用していることを確認してください。より基本的なドライバにダウングレードできる場合もあります。たとえば、Exchange Server などのサーバー ベースのアプリケーションを実行しているコンピュータには、通常はすべての機能を備えた高機能のビデオ ドライバは必要ありません。多くの場合、より基本的なドライバで十分です。高機能のビデオ ドライバから基本的なビデオ ドライバに切り替えると、空いているシステム PTE の数が増加するはずです。
  • システム構成   Windows Server 2003 システムに 1 GB 以上の物理メモリが搭載されている場合は、Microsoft サポート技術情報の文書番号 823440「Windows Server 2003 ベースのシステムに Exchange Server 2003 をインストールするとき、/3GB スイッチを使用する必要がある」(https://go.microsoft.com/fwlink/?linkid=3052&kbid=823440) と文書番号 810371「[XADM] Windows 2003 Server ベースの Exchange Server で /Userva スイッチを使用する」(https://go.microsoft.com/fwlink/?linkid=3052&kbid=810371) で説明されているように、/3GB スイッチと /USERVA=3030 スイッチを使用して Boot.ini ファイルが適切に構成されていることを確認する必要があります。
  • イベント ログ   Exchange Server のアプリケーション イベント ログを調べ、エラーと警告、特に MSExchangeIS イベント 9582 (エラーと警告)、9665 (警告)、および 12880 (エラー) があるかどうかを調べます。イベント 9665 も、SystemPages が最適なパフォーマンスが得られるように構成されていないことを示す場合があります。これらのイベントの詳細については、サポート技術情報の文書番号 324044「[HOWTO] Exchange Server 2003 および Exchange 2000 Server における仮想メモリの断片化のトラブルシューティング」(https://go.microsoft.com/fwlink/?linkid=3052&kbid=325044) を参照してください。
important重要 :
この文書には、レジストリの編集に関する情報が含まれています。レジストリを編集するには、問題発生時にレジストリを復元する方法を理解している必要があります。レジストリの復元方法の詳細については、Regedit.exe または Regedt32.exe のヘルプで、「レジストリを復元する」を参照してください。

Windows 2000 Server を実行しているコンピュータでこの警告を修正するには

  1. Regedit.exe や Regedt32.exe などのレジストリ エディタを起動します。

  2. 次の場所に移動します。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 右側のペインで、[SystemPages] をダブルクリックします。

  4. [値のデータ] ボックスに、値 として10進数の 31000 (31000 は 16 進数の7918 の 10 進数表記です。Regedit.exe は既定では 16進数の値に設定されます) を入力し、[OK] をクリックします。

  5. レジストリ エディタを終了し、コンピュータを再起動して変更を有効にします。

最初のリリースの Windows Server 2003 を実行しているコンピュータでこの警告を修正するには

  • Microsoft サポート技術情報の文書番号 894067「パフォーマンス ツールは、Windows Server 2003 に利用可能な 空き システム ページ テーブル エントリを正確に示しません。」(https://go.microsoft.com/fwlink/?linkid=3052&kbid=894067) を参照して、実際の Free System Page Table Entries の数を判断します。

Windows Server 2003 SP1 を実行しているコンピュータでこの警告を修正するには

  1. Regedit.exe や Regedt32.exe などのレジストリ エディタを起動します。

  2. 次の場所に移動します。HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  3. 右側のペインで、[SystemPages] をダブルクリックします。

  4. [値のデータ] ボックスに**「0」と入力し、[OK]** をクリックします。

  5. レジストリ エディタを終了します。

  6. [マイ コンピュータ] を右クリックし、[プロパティ] をクリックします。[システムのプロパティ] ダイアログ ボックスが表示されます。

  7. [詳細設定] をクリックします。

  8. [起動と回復] 領域で、[設定] をクリックします。[起動と回復] ダイアログ ボックスが表示されます。

  9. [起動システム] 領域で、[編集] をクリックします。この操作によって、Windows の Boot.ini ファイルがメモ帳で開かれます。

  10. [オペレーティング システム] セクションを確認します。

    1. /3GB スイッチはあるが /USERVA=3030 スイッチがない場合は、起動行に /USERVA=3030 スイッチを追加して、これが /3GB /USERVA=3030 として構成されるようにします。
    2. /3GB /USERVA=3030 スイッチが既に構成されている場合は、/USERVA スイッチの値を /USERVA=2970 に変更します。
  11. 変更を保存して、メモ帳を閉じます。

  12. [OK] を 2 回クリックして、開いているダイアログ ボックスを閉じ、コンピュータを再起動してこの変更を有効にします。

レジストリを編集する場合、およびレジストリを編集する方法を詳しく知りたい場合は、Microsoft サポート技術情報の文書番号 256986「Microsoft Windows レジストリの説明」(https://go.microsoft.com/fwlink/?linkid=3052&kbid=256986) を参照してください。

Exchange Server のためのメモリ最適化に関する詳細については、以下の Microsoft サポート技術情報の文書を参照してください。