64 ビット版の Windows に適したページ ファイルのサイズを決定する方法

適用対象: Windows 8.1 RTMWindows 8Windows Server 2012 R2 Datacenter 詳細

概要


ページ ファイル ("ページング ファイル" ともいいます) は、ハード ディスクにあるオプションの隠しシステム ファイルです。 ページ ファイルは、システムのクラッシュ ダンプを "保持" (サポート) します。ページ ファイルによって、システムでコミットされるメモリをどれだけ拡張できるか ("仮想メモリ" といいます) が決まります。 また、物理メモリのアクセス頻度の低い更新されたページをページ ファイルに移動させておき、物理メモリのアクセス頻度の高いページが効率よく使われるようにします。

64 ビット版の Windows と Windows Server は、32 ビット版よりも多くの物理メモリ (RAM) をサポートしています。 しかし、ページ ファイルのサイズを設定する理由は、どちらも同じです。 つまり、必要に応じてシステム クラッシュ ダンプを格納しなければならないため、または必要に応じてシステムのコミット メモリの制限を拡張しなければならないためです。 たとえば、大量の物理メモリが備わっている場合は、システムのピーク使用時のコミット チャージをページ ファイルで補う必要がないことも考えられます。 つまり、物理メモリだけで、コミット チャージに相当する容量を確保できるわけです。 しかし、この場合でも、システムのクラッシュ ダンプを保持するために、ページ ファイル、または専用ダンプ ファイルを必要とします。

Windows と Windows Server のどのバージョンのページ ファイルのサイズを決めるときでも、次のことを考慮してください。
  • クラッシュ ダンプの設定: システムがクラッシュしたときに、クラッシュ ダンプ ファイルが作成されるようにする場合は、ページ ファイルまたは専用ダンプ ファイルが存在し、システムのクラッシュ ダンプ設定を保持するのに十分大きなサイズでなければなりません。 そうでないと、システム メモリのダンプ ファイルは作成されません。
  • システムのピーク使用時のコミット チャージ: システムのコミット チャージは、システムのコミット リミットを超えることができません。 このリミットは、物理メモリ (RAM) とすべてのページ ファイルの合計です。 ページ ファイルが存在しない場合は、システムのコミット リミットは、搭載されている物理メモリより若干少ない値になります。 システムのコミット メモリのピーク使用量は、システムによって大きく異なります。 したがって、物理メモリとページ ファイルのサイズ設定もシステムによって変わります。
  • アクセス頻度の低いページの量: ページ ファイルの目的は、アクセス頻度の低い更新されたページをハード ディスクに退避させ、物理メモリを解放することです。 これで、頻繁にアクセスするページ用のメモリ容量が増えます。 "\Memory\Modified Page List Bytes" パフォーマンス カウンターの値は、ハード ディスクに移動されるはずの、アクセス頻度が低い更新されたページの数のおおまかな目安になります。 ただし、更新されたページ リストにあるすべてのメモリがディスクに書き出されるわけではありません。 通常、数百メガバイトが更新されたページ リストに残ります。 したがって、次の条件がすべて当てはまる場合は、ページ ファイルを拡張または追加することを検討してください。
    • もっと多くの物理メモリ (\Memory\Available MBytes) を必要とする。
    • 更新されたページ リストに大量のメモリが含まれている。
    • 既存のページ ファイルがほぼいっぱいである (\Paging Files(*)\% Usage)。

    注意事項
    • 製品やサービスによっては、上記の目的以外でページ ファイルを必要とする場合があります。 詳細については、製品のドキュメントを参照してください。 たとえば、Windows Server のドメイン コントローラーと DFS レプリケーション、証明書、LDS サーバー (クライアント エディションも同様) は、ページ ファイルを構成していないと利用できません。 ESENT (Microsoft Exchange Server の ESE) のデータベース キャッシュのアルゴリズムは、"\Memory\Transition Pages RePurposed/sec" パフォーマンス モニター カウンターに依存します。 ページ ファイルは、他のサービスやアプリケーションによってメモリが要求された場合に、データベース キャッシュがメモリを解放できるようにするために必要です。 要するに、ページ ファイルのサイズ調整は、システムのクラッシュ ダンプの設定に必要な条件と、システムのコミット チャージのピーク値または予想されるピーク値に左右されます。 どちらの条件も、複数あるシステムがまったく同一の場合でも、システム 1 台ごとに考慮する必要があります。 つまり、ページ ファイルの最適なサイズは、システムに固有であり、一般化することはできません。
    • Windows Server 2012 Hyper-V と Windows Server 2012 R2 Hyper-V では、管理 OS (一般に "ホスト OS" といいます) のページ ファイルは、[システム管理] 設定の既定値のままにしておくことが推奨となります。 これは、Hyper-V 製品グループに当てはまります。

詳細情報


システムのコミット メモリ

システムのコミット リミットは、物理メモリとすべてのページ ファイルの合計です。 これは、システムでコミットできるメモリの最大値を表します。システムのコミット済みメモリのことを "システムのコミット チャージ" といいます。 システムのコミット チャージは、システムのすべてのコミットされている (予約されている) 仮想メモリの合計です。 システムのコミット チャージがコミット リミットに達すると、システムとプロセスが、コミットされているメモリを確保できなくなります。 これが原因で、システムが応答しなくなったり、クラッシュしたり、他の障害が発生したりすることがあります。 そのため、コミット リミットを、システムのピーク使用時のコミット チャージよりも十分大きな値に設定してください。

システムの コミット チャージとコミット リミットの値は、[タスク マネージャー] の [パフォーマンス] タブか、それぞれ "\Memory\Committed Bytes" と "\Memory\Commit Limit" のパフォーマンス カウンターを使って確認することができます。 "\Memory\% Committed Bytes In Use" カウンターは、"\Memory\Commit Limit" に対する "\Memory\Committed Bytes" の割合 (%) を表します。

: システムで管理されているページ ファイルは、システムのコミット チャージがコミット リミットの 90 % に達すると、物理メモリの 3 倍または 4 GB のいずれか大きな方に自動的に拡張されます。 これは、大きくなったページ ファイルを格納できる十分な空きディスク領域があることを前提にした処理です。

システムのクラッシュ ダンプ

システムが正しく実行できなくなると、クラッシュ ("バグ チェック" または "Stop エラー" ともいいます) が発生します。 このイベントによって生成されたダンプ ファイルのことをシステムの "クラッシュ ダンプ" といいます。 クラッシュ ダンプ ファイル (memory.dmp) をディスクに書き出すために、ページ ファイルまたは専用ダンプ ファイルを使用します。 したがって、ページ ファイルまたは専用ダンプ ファイルは、選択された種類のクラッシ ダンプを格納するのに十分大きなサイズでなければなりません。 さもないと、システムがクラッシュ ダンプ ファイルを作成できません。

: システムで管理されているページ ファイルのサイズは、システムの起動時に、システムのクラッシュ ダンプ設定に従って決められます。 これは、空きディスク領域が十分あることを前提にした処理です。
システムのクラッシュ ダンプ設定 ページ ファイルの最低限必要なサイズ
最小メモリ ダンプ (256 KB) 1 MB
カーネル メモリ ダンプ カーネルの仮想メモリの使用量によって異なる
完全メモリ ダンプ RAM の容量 + 257 MB*
自動メモリ ダンプ カーネルの仮想メモリの使用量によって異なる。 詳細については、MSDN の「Automatic Memory Dump」(英語情報) を参照してください。

* 1 MB のヘッダー データと 256 MB のデバイス ドライバー データを合計した、二度目のクラッシュ ダンプ

自動メモリ ダンプ

Windows 8 と Windows Server 2012 には、"自動メモリ ダンプ" 機能が導入されています。 この機能は、既定で有効になっています。 これは、新しい設定です。新しい種類のクラッシュ ダンプではありません。 この設定によって、システムがクラッシュした頻度に応じて、ページ ファイルの最適なサイズが自動的に選択されます。 

自動メモリ ダンプ設定では、まず、小さなページ ファイル サイズが選択されます。これは、ほとんどのカーネル メモリ ダンプに十分なサイズです。 4 週間以内にシステムが再びクラッシュした場合は、自動メモリ ダンプ機能によって、RAM のサイズと 32 GB のどちらか小さな方がページ ファイルのサイズに選択されます。 

: Windows 8.1 と Windows Server 2012 R2 では、ページ ファイルまたは専用ダンプ ファイルの初期の最小サイズは 1 GB です。

カーネル メモリのクラッシュ ダンプには、仮想メモリのカーネル モード側の使用量に充当する容量のページ ファイルまたは専用ダンプ ファイルを必要とします。 前のクラッシュから 4 週間以内にシステムが再びクラッシュした場合は、再起動時に完全メモリ ダンプが選択されます。 このためには、メモリからダンプされるデータをすべて格納するために、ページ ファイルまたは専用ダンプ ファイルのサイズは、物理メモリ (RAM)、ヘッダー情報 1 MB、ドライバーのデータ 256 MB を合わせた値以上でなければなりせん。 前回と同様に、システムで管理されているページ ファイルのサイズが、この種類のクラッシュ ダンプでも拡張されます。 システムに特定のサイズのページ ファイルまたは専用ダンプ ファイルを設定する場合は、上の表にあるすべてのクラッシュ ダンプ設定の値を合わせたものと、ピーク使用時のコミット チャージよりも十分大きなサイズであることを確認してください。

システムのクラッシュ ダンプの詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

969028 Windows Server 2008 および Windows Server 2008 R2 でカーネルまたは完全メモリ ダンプ ファイルを生成する方法
 

専用ダンプ ファイル

Microsoft Windows または Microsoft Windows Server を実行しているコンピューターには、通常、システムのクラッシュ ダンプを保持するためにページ ファイルが必要です。 ただし、次のソフトウェア パッケージから、システム管理者がページ ファイルの代わりに専用ダンプ ファイルを作成できるオプションが搭載されるようになりました。
  • Windows 7 Service Pack 1、修正プログラム 2716542 を適用
  • Windows Server 2008 R2 Service Pack 1、修正プログラム 2716542 を適用
専用ダンプ ファイルは、ページングには使用されないページ ファイルです。 つまり、システムがクラッシュしたときに、クラッシュ ダンプ ファイル (memory.dmp) を保持することだけを目的としたファイルです。 専用ダンプ ファイルは、ページ ファイルをサポートしているどのようなディスク ボリュームにも配置できます。 システムのクラッシュ ダンプが必要だけれども、ページ ファイルを必要としない場合に、専用ダンプ ファイルを使用することをお勧めします。

専用ダンプ ファイルの詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

969028 Windows Server 2008 および Windows Server 2008 R2 でカーネルまたは完全メモリ ダンプ ファイルを生成する方法

950858 4 GB を超える物理メモリを搭載した Windows Server 2008 または Windows Vista を実行しているコンピューターで、専用ダンプ ファイルが予期せず 4 GB に縮小される
 

システムで管理されているページ ファイル

既定では、ページ ファイルはシステムで管理されます。 したがって、ページ ファイルの大きさは、搭載されている物理メモリ、システムのコミット チャージに対処するプロセス、システムのクラッシュ ダンプを処理するプロセスなど、さまざまな要因によって増減します。

たとえば、システムのコミット チャージがコミット リミットの 90 % を超えると、必要なメモリを確保するためにページ ファイルが大きくなります。 これは、ページ ファイルが物理メモリの 3 倍、または 4 GB のいずれか大きな方に達するまで続きます。 これらの処理はすべて、ページ ファイルをホストしている論理ディスクに、拡大されるページ ファイルを格納する十分な容量があることを前提としています。

次の表に、システムで管理されているページ ファイルの最小サイズと最大サイズをまとめます。
オペレーティング システム ページ ファイルの最小サイズ ページ ファイルの最大サイズ
Windows XP と Windows Server 2003、1 GB 未満の RAM RAM の 1.5 倍 RAM の 3 倍と 4 GB のいずれか大きな方
Windows XP と Windows Server 2003、1 GB 以上の RAM RAM と同量 RAM の 3 倍と 4 GB のいずれか大きな方
Windows Vista および Windows Server 2008 RAM と同量 RAM の 3 倍と 4 GB のいずれか大きな方
Windows 7 および Windows Server 2008 R2 RAM と同量 RAM の 3 倍と 4 GB のいずれか大きな方
Windows 8 および Windows Server 2012 クラッシュ ダンプの設定によって異なる RAM の 3 倍と 4 GB のいずれか大きな方
Windows 8.1 および Windows Server 2012 R2 クラッシュ ダンプの設定によって異なる RAM の 3 倍と 4 GB のいずれか大きな方 ただし、ボリュームの空き領域が 16 GB 未満の場合、ページ ファイルのサイズ制限は 3GB に設定されます。
Windows 10 および Windows Server 2016 ページファイルの使用状況の履歴に基づいて、RAM (RAM ÷ 8、最大32 GB) およびクラッシュ ダンプの設定を変更します。 RAM の 3 倍と 4 GB のいずれか大きな方  これは、ボリュームサイズ ÷8 に制限されます。  ただし、クラッシュ ダンプの設定に必要な場合は、ボリュームの空き容量を 1 GB以内に増やすことができます。

* 「システムのクラッシュ ダンプ」を参照。

パフォーマンス カウンター

ページ ファイルに関連するパフォーマンス カウンターがいくつかあります。 ここでは、これらのカウンター、およびカウンターで何が測定されるかを説明します。
\Memory\Page/sec、および他のハード ページ フォールト カウンター
次のパフォーマンス カウンターは、ハード ページ フォールト (ページ ファイルの読み取りなどを含む) を測定します。
  • \Memory\Page/sec
  • \Memory\Page Reads/sec
  • \Memory\Page Inputs/sec
次のパフォーマンス カウンターは、ページ ファイルの書き込みを測定します。
  • \Memory\Page Writes/sec
  • \Memory\Page Output/sec
ハード ページ フォールトは、ディスクからデータを取得することにより解決する必要のあるフォールトです。 このようなデータには、DLL の一部、.exe ファイル、メモリにマップされたファイル、ページ ファイルがあります。 これらのフォールトは、ページ ファイルやメモリ不足と関係のある場合もあれば、無関係な場合もあります。 ハード ページ フォールトは、オペレーティング システムの標準機能です。 これらのフォールトは、次のものが読み取られるときに発生します。
  • 使用されているイメージ ファイルの一部 (.dll ファイルと .exe ファイル)
  • メモリにマップされたファイル
  • ページ ファイル
これらのカウンターの値が高い (ページングが多すぎる) 場合は、x86 版と x64 版の Windows と Windows Server では、通常、1 ページあたり 4 KB のページ フォールトによるディスク アクセスが発生していることを示します。 このディスク アクセスは、ページ ファイルに関連している場合と関連していない場合がありますが、アクセスされているディスクの負荷が大きいと、ディスクのパフォーマンスが落ち、システム全体で遅延が発生する可能性があります。

そのため、ページ ファイルをホストしている論理ディスクのパフォーマンスを、これらのカウンターの値と相関させて観察することをお勧めします。 たとえば、ページ フォールトが 1 秒間に 100 件発生しているシステムでは、ディスクとメモリ間で毎秒 400 KBのデータが転送されることになります。 通常、7200 RPM のディスク ドライブで処理できるのは、16 KB の IO サイズで毎秒 5 MB、4 KB の IO サイズ で毎秒 800 KB です。 どの論理ディスクのハード ページ フォールトを解決するかを直接示すパフォーマンス カウンターはありません。
\Paging File(*)\% Usage
\Paging File(*)\% Usage パフォーマンス カウンターは、それぞれのページ ファイルの使用率をパーセントで示します。 ページ ファイルの使用率の 100 % という数字は、システムのコミット チャージがコミット リミットに達しておらず、ページ ファイルに書き出されるのを待っている大量のメモリがない限り、パフォーマンスの問題を示唆するものではありません。

: 更新されたページ リスト (\Memory\Modified Page List Bytes) のサイズは、ディスクに書き込まれるのを待機している、更新されたデータの合計です。

更新されたページ リスト (アクセス頻度の低い物理メモリのページのリスト) に大量のメモリが含まれており、すべてのページ ファイルの % Usage の値が 90 より大きい場合は、ページ ファイルを大きくするか追加することにより、アクセス頻度の高いページでもっと多くの物理メモリを使用できるようにします。

: 更新されたページ リストにあるすべてのメモリがディスクに書き出されるわけではありません。 通常、数百メガバイトが更新されたページ リストに残ります。

複数のページ ファイル使用時のディスクに関する注意事項

システムに複数のページ ファイルを設定している場合は、最初に応答したページ ファイルが使われます。 つまり、速いディスクにあるページ ファイルほど頻繁に使用されることになります。 また、ページ ファイルを "高速" または "低速" のディスクに配置するかが重要になるのは、ページ ファイルが頻繁にアクセスされ、各ページ ファイルをホストしているディスクが過負荷になる場合のみです。 実際のページ ファイルの使用率は、システムが現在取り扱っている、更新されたメモリの量に大きく依存します。 つまり、既にディスクに存在するファイル (.txt、.doc、.dll、.exe など) は、ページ ファイルに書き込まれません。 ディスクに存在しない、更新されたデータ (メモ帳にある未保存のテキストなど) だけが、ページ ファイルに格納される可能性のあるメモリになります。 未保存のデータがファイルとしてディスクに保存された後は、そのデータはディスクを介して処理され、ページ ファイルの処理とは関係なくなります。