Windows の広大なメモリ空間の実現方法

Windows など一般的なOSでは「仮想メモリ」という技術を使用してメモリを管理しています。
なぜ?
例えば2Gしか物理メモリがないWindows PCと16G搭載した Windows PCがあるとします。
これを解決するのが「仮想メモリ(Virtual Memory)」という機能です。
仮想メモリは太っ腹で、すべてプログラムに一律で「大量のメモリ」を使用させます。そんなことしたらあっという間にメモリが足りなくなる?!と思うでしょう。
この時活躍するのが「仮想メモリ」機能です。仮想メモリでは各プログラムに大量のメモリ(8G)を割り当てます。
プログラムは自分に大量のメモリを使えるように見えてますが、実際に使われる部分しか割り当てません。足りない部分はハードディスクなどのファイルを使用します。(Windowsの場合はpagefile.sys)

仮想メモリの仕組み
この図ではプログラムは「仮想メモリ全体」の広大なメモリを使用することができます。しかし物理メモリに割り当てられているのは一部だけで、残りはハードディスクなどに書き出されています。これをスワップアウトと呼びます。
よく処理が遅くなると、ハードディスクががりがり激しく点滅しますね。これは物理メモリとページファイルの入れ替えが頻繁に発生している可能性が高いとうことです。これをスラッシュイングと呼びます。これが頻発する場合は物理メモリが不足しているので、追加するか起動するプログラムを減らしましょう。
Windows 10ではページファイルのサイズは以下の場所で設定が可能です。「システム」「詳細設定」「パフォーマンス」「詳細設定」「仮想メモリ」
Windows10における仮想メモリの設定

参考:

プロセスのメモリ使用容量の調べ方

Windows メモリまとめ

プロセスの使用するメモリ構成

ペイントブラシ(mspaint.exe)のメモリ消費量

CPU、メモリ、ディスク、ネットワークのリソースをどのプロセスがどれだけ使用しているか調べる

[Windows 10 コラム]