メモリは、さまざまなタスクをより高速に処理する上で重要な要素です。電子メモリなので高価であり、ほとんどの人は大量のRAMを購入できません。また、オペレーティングシステムがサポートできるRAMには制限があります。しかし、Windows 11とWindows 10のメモリ圧縮機能により、ページファイルとともに最適かつバランスのとれたRAMの使用が保証されます。新しいOSには、電子メモリを占有するデータの圧縮を組み込んだメモリ最適化が搭載されています。この記事では、古いバージョンのWindowsでメモリが管理されていた方法、メモリ圧縮機能とは何か、Windows 11/10でメモリ圧縮がどのように機能しているかについて説明します。
(画像提供: Microsoft)
古いバージョンのWindowsでのメモリ管理
Windowsでは、メモリ全体が3つの異なる部分に分かれています:
- ランダムアクセスメモリ(電子メモリ)
- ページファイル(ハードディスク上のRAMの拡張)
- ハードディスクおよびその他のストレージシステム
古いバージョンでは、電子メモリの拡張として機能するpagefile.sysに十分な量のハードディスクスペースを許可する必要がありました。古いバージョンのWindowsでのメモリ管理はシンプルかつ明快でした。現在実行中のアプリケーションと関連データを電子メモリに格納し、使用頻度の低いデータをpagefile.sysに送信します。従来のアプリケーションはメインメモリに常駐しますが、データ部分は、長時間使用されないと、多くの場合pagefileにプッシュされます。Insider Hubの投稿によると、pagefileの容量を超えると、pagefile上のデータが置き換えられました。その場合、電子メモリにまだ残っているアプリケーションで古いデータが必要になった場合、ハードディスクまたはその他のストレージデバイスからRAMに再度ロードする必要があり、データの読み取りまたは書き込みに時間がかかります。
言い換えると、アプリケーションと最新のデータはRAMに常駐し、現在のアプリケーションで頻繁に使用されるデータはpagefile.sysに残り、新しいデータの読み取りまたは書き込みが必要になったときにハードディスクにアクセスします。これには、pagefileに存在しないデータ、つまり新しいデータセットで置き換えられた可能性のあるデータが含まれます。
Windows 11/10でのメモリ管理 - アプリケーションページファイル
Windows 11/10では、メモリ管理が少し変更されました。Windows 8/8.1には2種類のアプリケーションがありました。従来のアプリケーションは、上記で説明したとおりに機能していました。それらの部分はRAMに残り、アプリケーションがアイドル状態になり、RAMがいっぱいになると、必要なデータがpagefileに格納されます。
最新のアプリは、フォーカスされている場合にのみ実行されます。アプリAとアプリBを開き、現在アプリAで作業している場合、アプリBと関連データはpagefileにプッシュバックされます。このようにして、アプリAはメモリに十分にアクセスでき、すべてのフェッチプロセスでpagefileにアクセスする必要はありません。アプリAをバックグラウンドに送り、アプリBにフォーカスすると、アプリAと関連データはpagefileに移動し、アプリBはRAMへの排他的アクセス権を取得します。
この方法により、メモリが節約され、アプリが高速化されました。Windows 11/10では、圧縮機能が追加され、さらに高速化されました。次のセクションでは、Windows 11/10での機能について説明します。
Windows 11/10でのメモリ管理 - ページファイルに対する圧縮
メモリ管理はWindows 8/8.1と同じです。従来のアプリは電子メモリに格納され、フォーカスされたアプリもRAMに格納されます。データの過多によりRAMが混雑した場合、アプリとデータの量は最大40%圧縮され、同じ電子メモリに収容されます。
Windows 11/10もpagefile.sysを使用して電子メモリのデータを格納します。アプリが大量のデータを使用しているが間隔が遅い場合、電子メモリに空き容量がない場合は、そのデータの一部がpagefileにプッシュされます。アプリがアグレッシブになると、データはpagefileから電子メモリに移動され、他のアプリがpagefileにプッシュされて現在のアプリのスペースが確保されます。ハードディスクにアクセスするのは、新しいデータセットまたはアプリをロードする場合、またはアプリに必要なデータがRAMまたはpagefileのいずれにも存在しない場合のみです。
Windows 11/10のメモリ圧縮によりRAMの使用が最適化されます
Windows 11/10にも、UWPと従来の2つのカテゴリのアプリがあります。従来のアプリケーションは電子メモリに個別に格納され、最新のアプリはそれぞれ独自のスタックを持ちます。これにより、圧縮にもかかわらずメモリが不足するほど多くのアプリを開いた場合、最新のアプリと関連データをpagefileにプッシュしやすくなります。
Windowsのメモリ圧縮機能を使用すると、ほとんどのデータがメインメモリに圧縮された形式で既に存在するため、pagefileアクティビティが約50%節約されます(古いバージョンのWindowsと比較)。アプリまたはデータが必要になると、圧縮が解除されて使用されます。そのため、圧縮解除されたデータを提供するためにRAMの一部を空けておく必要があります。
pagefileを使用する場合でも、Windows 11/10では速度が向上します。これは、アプリ全体と関連データが、連続した順序でアクセスされる圧縮ページとして格納されるためです。データの一部が圧縮解除されている間、他の部分はメインメモリに送信されて処理されます。これにより、時間も節約され、Windows 11/10マシンでのコンピューティングが高速化されます。
Windowsでメモリ圧縮が有効になっているかどうかを確認する方法
メモリ圧縮が有効になっているか無効になっているかを確認する最も簡単な方法は次のとおりです。
- タスクマネージャーを開く
- 上部の[パフォーマンス]タブを選択
- 左側の[メモリ]をクリック
- 右のパネルに[使用中(圧縮)]が表示されます
- これは、PCでメモリ圧縮が有効になっていることを示します。
Windows 11/10でメモリ圧縮を有効または無効にする方法
メモリ圧縮が有効になっているか無効になっているかを確認するには、次のコマンドを実行します。
Get-MMAgent
メモリ圧縮に対してtrueが表示されている場合は、有効になっています。falseが表示されている場合は、無効になっています。
メモリ圧縮を無効にするには、次のコマンドを実行します。
Disable-MMAgent -mc
メモリ圧縮を有効にするには、次のコマンドを実行します。
Enable-MMAgent –mc
これで解決するでしょう。
こちらもご一読ください: Windowsのシステム圧縮と、デバイスのスペースを節約する方法。
コメントする