※本ページにはプロモーション(広告)が含まれています
物理メモリが足りないとき、ストレージの一部をメモリのように使う仕組み。ページファイルがその実体。
詳しい解説
仮想メモリは、物理メモリ(RAM)の容量を超えるデータを扱うため、ストレージ(SSD・HDD)の一部をメモリのように見せかけて使うOSの仕組みです。1960年代に大型コンピューターで考案された概念が、現代のWindows・macOS・Linuxなどあらゆる主要OSで採用されています。Windowsではその実体がページファイル(pagefile.sys)として存在します。
仕組みの核は『ページング』です。メモリを『ページ』と呼ばれる小さな固定サイズ(通常4KB)のブロックに分割し、現在CPUが必要とするページだけを物理メモリに載せ、残りはストレージに退避します。各プログラムは『自分だけに割り当てられた連続した広いメモリ空間』を見ている錯覚(=仮想化)ができ、物理メモリの制約を意識せずに動作できます。
主なメリットは3つです。①物理メモリ以上のデータを扱える(大きなファイル編集も可能)、②プログラム同士が互いに独立した空間を持つため、干渉しにくくセキュリティ向上、③ある程度のメモリ枯渇に耐える(急激にアプリが落ちる前に速度低下で警告できる)。
デメリットは『SSD/HDDの速度は物理メモリより何十倍も遅い』ことです。仮想メモリに頻繁にアクセスが発生する状態(スラッシング)になると、システム全体が極端に遅くなります。これを避けるには、用途に応じた十分な物理RAMを搭載するのが最良の解決策です。
設定は『システムのプロパティ → 詳細設定 → パフォーマンス → 詳細設定 → 仮想メモリ → 変更』から可能です。『すべてのドライブのページングファイルのサイズを自動的に管理する』のチェックを外すことで、ドライブごとに手動サイズ指定ができます。通常はデフォルト(自動管理)のままで問題ありません。
関連として、macOSでは同じ機能を『スワップ』、Linuxでも『スワップ(スワップパーティション/スワップファイル)』と呼びます。名称は異なりますが動作原理はほぼ同じで、ストレージを補助メモリとして活用する考え方は共通しています。
32GBしかRAMがないPCで、50GBの動画ファイルを開いて編集したい場面を想像してください。物理メモリだけでは足りないはずですが、仮想メモリのおかげで『使っていない部分はストレージ上に置き、必要な部分だけ物理RAMに載せる』という挙動でファイルを扱えます。ただし頻繁にページング処理が発生すると動作が遅くなるので、本格的な動画編集には64GB以上のRAMを積むのが快適さへの近道です。
別の呼び方
スワップ
仮想記憶
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!