ページファイルがない場合、Windows 10 のメモリ圧縮は使用されますか?

ページファイルがない場合、Windows 10 のメモリ圧縮は使用されますか?

メモリを「スワップアウト」する最良の方法を決定するために、Windows 10 のメモリ圧縮の使用を調査しています。

一方では、すべてを Windows に任せ、ページ ファイルと圧縮メモリに頼ることもできますが、これは、正確に何がいつスワップアウトされるかを制御できないことを意味します。

一方、ページ ファイルなしでシステムを実行し、データベースへの一時的な変更をより速く永続化することでメモリ使用量を削減できます。これにより、メモリに何を永続化して削除するかをより細かく制御できます。

後者の場合、ページ ファイルがない場合でもメモリ圧縮が使用されるのであれば、メモリ圧縮のメリットを享受できます。その場合、メモリ圧縮により、プロセスは物理的に使用可能なメモリよりも多くのメモリを使用できるようになります (もちろん、短時間ですが)。

そこで質問ですが、システムにページ ファイルがない場合、Windows 10 のメモリ圧縮は使用されるのでしょうか?

答え1

メモリ圧縮を有効にするには、ページ ファイルを有効にする必要があります。Windows 10 バージョン 1809 で確認しました。

通常、ページ ファイルを無効にしてこのシステムを実行していますが、MMAgent でメモリ圧縮を有効にし、SysMain サービスが実行されていること、およびレジストリですべてのプリフェッチと ReadyBoost 設定が有効になっていることを確認しているにもかかわらず、タスク マネージャーには常に「メモリ圧縮が有効になっていません」と表示され、タスク マネージャーのメモリ タブで「(圧縮)」メモリ統計が 0 MB を超えることは一度もありませんでした。

16 MB (最小許容サイズ) のページング ファイルを設定すると、タスク マネージャー タブのツールヒントに、予想どおり「圧縮メモリには推定 .... のデータが格納されています...」というメッセージが表示されます。

まだ確認していないのは、ページング ファイルのサイズが圧縮メモリの最大許容量にどのように影響するかということです。

関連するもう一つのメモ: Prefetch と ReadyBoost は、regedit を使用して無効にできます。これらはメモリ圧縮の動作には影響しません。ただし、「SysMain」サービス (古い Windows バージョンでは混乱を招くように readyboost と呼ばれています)しなければならない有効にする必要があります。そうしないと、メモリ圧縮は有効になりません。

関連情報