Windows 10 と Windows 11 のメモリー圧縮機能は、ページングファイル(ページファイル)への書き出し(スワップ)頻度を減らすことでパフォーマンスを向上させます。
これは、圧縮によってメモリー使用量を削減し、空いた領域にデータを保持できるようになるためです。
ページングファイルへの書き出しは HDD や SSD へのアクセスを伴うため、書き出し頻度が減ることでデータ転送の負荷が軽減され、処理速度が向上します。
ページングファイル、スワップとは
まず、ページングファイルについて少し理解しておく必要があります。
物理メモリー(お使いの PC に搭載されているメモリー)の空き容量が少なくなった場合に、アクセス頻度の低いページを物理メモリーから削除して HDD または SSD の一部をメモリーとして使います。(ページングファイルへの書き出し)
これにより、アクセス頻度の高いページに対して物理メモリーをより効率的に使用できるようになります。(書き出した分、物理メモリーに空きができる)
そして、ページングファイルに保存したデータが必要になった場合は物理メモリーに戻します。
この物理メモリーとページングファイルのデータの交換をスワップといいます。
物理メモリーの容量が少ない場合、スワップが頻繁に起こります。
HDD や SSD のスピードは、物理メモリーと比べると桁違いに遅く、頻繁にスワップが起きると反応が極端に遅くなったりフリーズすることもあり、非常にパフォーマンスが悪くなります。
また、HDD や SSD の寿命が縮む可能性もあります。
メモリー圧縮機能の原理
メモリー圧縮機能は、現在システムプロセスやアプリケーションによって使用されていないページを圧縮して物理メモリーを解放し、他のプロセスが使用できるようにすることです。
わかりやすく言うと、例えば、8GB あるメモリー容量のうち 8GB いっぱい使用しているとします。
すると、使用できるメモリー容量が 0 になりますね。
ここでメモリー圧縮が行われると、物理メモリーに空きができます。
つまり、使用できるメモリー容量が増えます。
これにより、HDD または SSD の一部をメモリーとして使う必要がなくなる(頻度が少なくなる)わけです。
スワップが起きなくなる(起きる頻度が少なくなる)ことでパフォーマンスが向上するということです。
メモリー圧縮機能は無効にした方がいいのか?
メモリー圧縮機能は、パフォーマンスの向上に役立ちますが、ファイルの圧縮・解凍をするように CPU に負荷がかかります。
最近のパソコンは性能が良いのであまり気にならないと思いますが、性能があまり良くない CPU を使用している場合は、パフォーマンスに影響が出てきます。
例えば、メモリーを多く使用するソフトウェア(VMware 、Photoshop、動画編集ソフトなど)を実行するとパフォーマンスが非常に悪くなる可能性があります。
一般的に、メモリーを多く使用するソフトウェアは、CPU の使用率も高くなる傾向があります。
CPU の使用率も高く、メモリーの使用量も高いときに「圧縮・解凍」という作業が加わると、さらに負荷が高くなり、パソコン全体の動作も遅くなってしまいます。
メモリー圧縮機能は、無効にすることも有効にすることもできますので、一度試してみるのも良いかもしれません。
無効にしないほうがいい場合
メモリー圧縮機能は、物理メモリー容量が十分でない場合は、無効にしないほうがパフォーマンスは上がります。
十分なメモリー容量とは、扱うソフトウェアにもよりますが、最低でも 16GB 以上なければパフォーマンスが落ちてしまう可能性があるため、16GB 以下の場合は無効にしないほうが良いでしょう。
※物理メモリー容量が十分にあり、CPU の性能も良い場合は、無効にしても効果を感じられないかもしれません。
無効にした方がいい場合
物理メモリー容量は十分にあるが、CPU の性能があまり良くない場合は、無効にすることでパフォーマンスの向上が期待できます。
Microsoft はメモリー圧縮機能を無効にすることは推奨していませんが、CPU の性能とユーザー環境にもよります。
実際、無効にしたほうがパフォーマンスが上がる場合もあります。
※筆者は無効にしています。(CPU:AMD Ryzen 7 5700X, メモリー:32GB)
メモリー圧縮機能の有効・無効の確認
まず Windows PowerShell を管理者として開きます。
1.スタートボタンを右クリックし、「ターミナル(管理者)」または「Windows PowerShell(管理者)」をクリックします。
2.ユーザーアカウント制御が表示されたら「はい」をクリックします。
メモリー圧縮が有効か無効かを確認する
1.Windows PowerShell が開いたら、次のコマンドを入力して Enter を押します。
Get-MMAgent
2.すると、次のように表示されますので、「MemoryCompression」の右側を見てください。
「True」と表示されていれば、メモリー圧縮が有効です。
メモリー圧縮が有効の場合、タスクマネージャーの「メモリー使用中(圧縮)」の(画像の赤枠部分)に圧縮されたメモリー容量が表示されます。
メモリー圧縮機能の無効化・有効化
まず Windows PowerShell を管理者として開きます。
1.スタートボタンを右クリックし、「ターミナル(管理者)」または「Windows PowerShell(管理者)」をクリックします。
2.ユーザーアカウント制御が表示されたら「はい」をクリックします。
無効化
1.Windows PowerShell に次のコマンドを入力し、Enterを押します。
Disable-MMAgent -mc
2.パソコンを再起動をするとメモリー圧縮が無効になります。
メモリー圧縮を無効にすると、どんなにメモリーを使っても「メモリー使用中(圧縮)」の(画像の赤枠部分)部分は「0 MB」から上がりません。
有効化
1.Windows PowerShell に次のコマンドを入力し、Enterを押します。
Enable-MMAgent -mc
2.パソコンを再起動をするとメモリー圧縮が有効になります。
コメント(降順)