カーネルを低速なハードディスク上の仮想メモリに展開しない
- 設定項目名
- カーネルを低速なハードディスク上の仮想メモリに展開しない
- カテゴリ
- システム
- 対応プラットフォーム
- Windows NT 系 (Windows 2000, XP, Vista, 7 など)
- 搭載バージョン
- Win高速化 version 1.0
※ このページは Windows 高速化ツール Win高速化 に搭載されている設定項目の解説文になります。この設定項目を利用するには Win高速化 のインストールが必要となります。
概要
Windows の基本プログラムであるカーネルのページング (スワップ) を無効にします。カーネルがハードディスク上の仮想メモリではなく、常に物理メモリに展開されるようになります。物理メモリと比べて非常に低速なハードディスクへのアクセスが減るためパフォーマンスの向上につながります。
詳細
コンピューターでは使用中のプログラムやデータはハードディスクからメインメモリ (物理メモリ) に展開されて参照されます。データの転送速度がより高速なメインメモリに展開されることで高速なデータ処理が実現されます。物理メモリの容量が足りなくなると、仮想メモリと呼ばれるハードディスク上の特定の領域が使用されます。物理メモリ上の使用頻度の低いデータは仮想メモリに退避され、必要に応じて物理メモリに書き戻されます。
物理メモリと仮想メモリの間におけるデータ移動をページングあるいはスワップ (スワッピング) と呼びます。特に物理メモリから仮想メモリへのデータ移動をページアウト (スワップアウト)、逆に仮想メモリから物理メモリへのデータ移動をページイン (スワップイン) と呼びます。
仮想メモリの実体はページングファイル (ページファイル、スワップファイル) と呼ばれるハードディスク上の特定のファイルです。ハードディスク上にある仮想メモリは物理メモリよりも低速になりますが、物理メモリ以上のメモリ容量を安価に実現することができます。
Windows などのオペレーティングシステム (OS) には、OS の中核となる基本機能を提供するカーネルと呼ばれるプログラムが存在します。通常カーネルが使用するメモリ (カーネルメモリ) は、物理メモリと仮想メモリの両方に展開されます。NT 系の Windows (2000, XP, Vista, 7 など) では、カーネルメモリは次の 2 種類の領域に分かれています。
- 非ページ
- 物理メモリに展開されるページアウト不可な領域
- ページ
- 必要に応じて仮想メモリに展開されるページアウト可能な領域
カーネルメモリはまず物理メモリに展開されますが、次のような場合にページ領域は仮想メモリに退避 (ページアウト) されます。
- アプリケーションの起動などにより物理メモリの空き容量が少なくなった場合
- 物理メモリにあるページ領域が一定期間使われていないと判定された場合
退避 (ページアウト) された領域のデータが必要になるとハードディスクへのアクセスが発生します。ハードディスクの転送速度は物理メモリと比べて非常に低速なためパフォーマンスの低下を招く場合があります。
この設定を有効にすると、カーネルメモリのページング (スワップ) が無効となり、ページ領域がページアウト (スワップアウト) されないようになります。そのためカーネルメモリが常に高速な物理メモリに展開されるようになり、低速なハードディスク上の仮想メモリへのアクセスがなくなることでパフォーマンスの向上につながります。
推奨メモリ容量
カーネルのページングを無効にすると、カーネルメモリがすべて物理メモリに展開されるため、それまで仮想メモリに展開されていた分だけ物理メモリの使用量が増加します。そのため、この設定の効果を発揮するにはある程度の物理メモリの搭載容量が必要となります。
参考までに、この設定の効果を発揮するために推奨されるメモリ容量を示します。
Windows | 推奨メモリ |
---|---|
Windows 2000 | 256 MB |
Windows XP | 512 MB |
Windows Vista | 1 GB (1024 MB) |
Windows Vista (Windows Aero 使用) | 2 GB (2048 MB) |
上記の表で示した値は Windows の利用状況に応じて多少の違いがあります。たとえば常にメモリを節約しているような環境では、上記の半分程度の値でも効果が得られる可能性があります。逆に大量にメモリを使用するような環境では、この設定を有効にすることは推奨されません。
Windows タスク マネージャー
カーネルメモリのページと非ページの状態を Windows タスク マネージャーで確認することができます。
上図から「ページ」のサイズは約 80 MB であることが分かります。Windows のバージョンやインストール構成によって異なりますが、ページのサイズはおよそ 20 MB 〜 100 MB 弱となります。「非ページ」の領域は常に物理メモリに展開されたままとなりますが、「ページ」の領域は必要に応じて仮想メモリに退避されます。
データの転送速度
上で「ハードディスクの転送速度は物理メモリと比べて非常に低速」と述べましたが、参考までにデータの転送速度の具体的な値は次のようになります。
- 物理メモリ
- 数 GB 〜 数十 GB/s。DDR2-800 (PC2-6400)の転送速度は 6400 MB/s。
- ハードディスク
- 数十 MB 〜 数百 MB/s。SATAの転送速度は 150 MB/s。
現在 (2010 年 1 月時点) 主流な規格で比較すると、DDR2-800 (PC2-6400) は SATA の約 43 倍高速なデータの転送速度となります。詳細については転送速度 (コンピュータ) – Wikipediaを参照してください。
ページアウトとスワップアウトは別物と聞いたことがあるのですが、同じ意味なのでしょうか??