ページ テーブル エントリの空き容量が少なく、システムが不安定になる可能性がある

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

トピックの最終更新日: 2005-11-18

Microsoft® Exchange Server アナライザ ツールは、次のレジストリ エントリを読み取り、SystemPages レジストリの値の設定を判断します。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages

SystemPages の値が 0 に設定されており、システムで空いているページ テーブル エントリ (PTE) の数が 3,001 よりも小さいことが検出されると、警告が表示されます。

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 が常に少なくとも 5,000 必要です。空いているシステム PTE の数が 5,000 未満であるが、3,001 より多い場合は、「ページ テーブル エントリの空き容量が "警告" のしきい値に達した」の説明にある警告が表示されます。空いているシステム PTE の数が 3,001 未満に低下すると、このエラーが表示されます。この問題を解決するには、次の手順を使用して、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 を 24,000 ~ 31,000 の間の値に設定します。

important重要 :
この文書には、レジストリの編集に関する情報が含まれています。レジストリを編集するには、問題発生時にレジストリを復元する方法を理解している必要があります。レジストリの復元方法の詳細については、Regedit.exe または Regedt32.exe のヘルプで、「レジストリを復元する」を参照してください。

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

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

Windows 2000 Server でこの警告を修正するには

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

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

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

  4. [値のデータ] ボックスに 24,000 ~ 31,000 (10 進数) の値を入力し、[OK] をクリックします。

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

Windows Server 2003 でこの警告を修正するには

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

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

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

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

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

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

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