「PCが遅い」と感じたら――パフォーマンスを上げる“隠れメモリ”の活用術:PC動作を支える仮想メモリ【中編】
「PCの動作が重い」と感じたら、仮想メモリの設定を見直すチャンスでもある。意外と知られていないその仕組みと活用法とは。
PCの動作が遅くなったと感じたとき、まず疑うべきは「メモリ不足」だ。とはいえ、物理メモリの増設はコストも手間もかかる。そこで「仮想メモリ」が活躍する。仮想メモリはストレージの一部をメモリのように使い、パフォーマンス低下を防ぐための仕組みだ。
多くのOSで標準搭載されている仮想メモリだが、実はその設定次第でPCの快適さは大きく変わることがある。そこで本稿では、どうすれば仮想メモリの恩恵を十分に受けられるのかを解説する。
仮想メモリ設定でPCの快適さが変わる
併せて読みたいお薦め記事
連載:PC動作を支える仮想メモリ
パフォーマンスを維持する仮想メモリ
仮想メモリの設定は難しくない。標準的なOSには仮想メモリに割り当てるストレージ容量を決定する機能が組み込まれている。大抵は初期値で問題ないが、手動での設定が必要な場合もある。例えば、迅速な応答時間が必要で、物理メモリに優先的にアクセスさせたいアプリケーションや、PCに複数のストレージがある場合だ。
仮想メモリを手動で設定する場合は、仮想メモリに割り当てるストレージ容量の「最小値」と「最大値」を指定する必要がある。最大値が少な過ぎると、物理メモリの空き容量が不足した際に、システムの動作が不安定になったり、アプリケーションが正しく動作しなくなったりする恐れがある。
標準的なOSでは、仮想メモリの最大容量を物理メモリの1.5倍〜3倍程度に設定するのが目安とされている。ただし、OSが頻繁に仮想メモリを使用するようであれば、仮想メモリの設定を見直すよりも、物理メモリそのものを増設した方が根本的な解決につながる可能性が高い。
なお、仮想メモリの設定方法はOSごとに異なる。ITの業務に携わるなら、物理メモリ、仮想メモリ、そしてメモリアドレス(メモリ上のデータの位置情報)といったメモリ管理の基本を押さえておくことが重要だ。
Windowsで仮想メモリを変更する
MicrosoftのクライアントOS「Windows 11」では以下の手順で仮想メモリを設定できる。
- Windowsの「スタート」メニューを右クリック→「システム」をクリック
- 「システム」画面が開いたら、「関連リンク」セクションにある「システムの詳細設定」をクリック
- 「システムのプロパティ」画面が開いたら、「詳細設定」タブを選択
- 「パフォーマンス」欄にある「設定」ボタンをクリック
- 「パフォーマンスオプション」ウィンドウが開いたら、「詳細設定」タブをクリック
- 「仮想メモリ」欄の「変更」ボタンをクリック
- 「すべてのドライブのページングファイルサイズを自動的に管理する」のチェックを外す
- 任意のドライブを選択し、「カスタムサイズ」を選択して最小サイズと最大サイズをMB単位で入力
- 「設定」→「OK」→「適用」→「OK」の順にクリック
- Windowsの再起動を求められたら、再起動して完了
仮想メモリのメリット
仮想メモリを使用することで、PC動作の安定性や処理能力の向上につなげることができる。具体的なメリットは以下の通りだ。
- より多くのメモリアドレスを処理できる
- より多くのアプリケーションを一度に使用できる
- プログラムのメモリ使用量を気にする必要性が低下する
- 物理メモリ増設の必要性が低下する
- 実行に必要なストレージ領域だけを利用できる
- 各アプリケーションが使用するメモリ領域を分割するのでセキュリティが向上する
- 複数の大規模アプリケーションを同時に実行できる
- 物理メモリの増設よりも低コストになる
- ページング方式の場合、外部フラグメンテーション(空き領域の断片化)が起きない
- CPUのメモリ管理を効率化する
- 自動でスワップイン(必要になったデータを再び物理メモリに戻す処理)、スワップアウト(仮想メモリを使ってデータを一時的にストレージに退避させる処理)を実行できる
- Linuxのシステムコール「fork」(プロセスを複製する仕組み)を使うと、親プロセスと子プロセスは、仮想メモリのページを一時的に共有する仕組みにより、メモリの使用効率が向上する
- 仮想化環境では仮想マシン(VM)のメモリ容量が不足したとき、仮想メモリを柔軟に追加できる
仮想メモリの制限事項
仮想メモリには多くのメリットがある一方で、以下のような制限やトレードオフも存在する。使用する際はこれらを考慮しておく必要がある。
- 仮想メモリ上でプログラムを実行する場合、アクセス速度が遅くなり、全体のパフォーマンスが低下することがある
- アドレス変換を行うために、MMU(メモリ管理ユニット)などの専用ハードウェアのサポートが必要になる
- 仮想メモリの最大サイズは、搭載ストレージ容量や、OSのアドレス指定方式(32bit/64bit)に依存する
- 物理メモリが不足すると、仮想メモリとの間で頻繁なデータの入れ替え(スワップ)が発生し、「スラッシング」と呼ばれる現象によってパフォーマンスが著しく低下する
- 仮想メモリを使っているアプリケーション間で切り替えを行う際、一時的に処理が重くなることがある
- 仮想メモリに割り当てられる領域分、ストレージの空き容量が減少する
次回は、仮想メモリの歴史を踏まえながら物理メモリとの違いを解説する。
Copyright © ITmedia, Inc. All Rights Reserved.