コンピューターのRAMが足りなくなると、新しいデータのためのスペースを作成する必要があります。従来は、非アクティブなページをディスクに移動することでこれを行っていましたが(ページング/スワッピング)、これはRAMよりもはるかに遅いです-特に多くのアプリが開いているときには特に顕著です。
メモリ圧縮、RAM圧縮、および
メモリ圧縮の機能
ここでは、メモリ圧縮の主な機能を要約します:
- 候補の識別:OSはメモリを監視し、アクティブでないまたはあまり使用されていないページを選択します。
- RAM内のページを圧縮:これらのページは軽量で高速なアルゴリズムで圧縮され、特別なRAM内プールに保持されます。
- アクセス時に迅速に解凍:プロセスがデータが必要とする場合、OSはそれをオンザフライで解凍し、通常のRAMに戻します。
- 必要に応じてディスクにフォールバック:RAMのプレッシャーが続く場合、OSは依然として圧縮された状態または非圧縮のデータをディスクにページングできますが、圧縮によってその頻度は遅延または減少します。
圧縮vs.スワッピング(一覧で)
圧縮:RAMに残り、CPUサイクルがかかり、スペースを節約し、解凍後は非常に高速なアクセスが可能です。
スワッピング/ページング:データをディスク/SSDに移動してRAMを節約し、CPUコストなしで、しかしアクセスははるかに遅いです。
メモリ圧縮の利点と欠点
以下はテーブルで確認してください:
メリット | デメリット |
負荷時の応答性が向上 | CPUオーバーヘッド |
SSDへの書き込みが減少 | RAMが豊富な場合の収益の低下 |
VMや軽量デバイスに最適 | マイクロレイテンシーの可能性 |
この投稿が役立つと思ったらシェアしてください。
さまざまなシステムでのメモリ圧縮
異なるオペレーティングシステムでのメモリ圧縮は何をするのでしょうか?
macOS
- RAM内の圧縮を使用(OS Xマーベリックスで導入)。
- Activity Monitorで「圧縮されたメモリ」とメモリプレッシャーグラフを見ることができます。
- 自動で管理されており、一般的なユーザー向けのオン/オフスイッチはありません。
Windows(10/11)
- メモリ圧縮はメモリマネージャーの一部です。
- Task Managerは、「In use (Compressed)」を表示して圧縮されたRAMの量を示します。
- デフォルトで有効になっており、自己調整されています。調整する必要はほとんどありません。
Linux
- 一般的なアプローチは2つあります:zswap:RAM内のスワップ用の圧縮キャッシュ;必要に応じてページが後でディスクに書き込まれます。zram:RAM内の圧縮ブロックデバイスを作成します(高速かつ圧縮されたスワップとしてよく使用されます)。
- 動作は設定可能(アルゴリズム、サイズ、優先度)であり、サーバー、組み込みデバイス、デスクトップで人気があります。
メモリ圧縮をチェックまたは管理できます:
macOSでは、Finder > Applications > Utilities > Activity Monitor > Memoryから、メモリプレッシャーや圧縮されたメモリの値を見ることができます。
Windowsでは、Task Manager > Performance > Memoryから、「In use (Compressed)」を参照してください。
メモリ圧縮は一部のページを圧縮形式で保存することで、高速なRAMにより多くのデータを保持します。メモリプレッシャー下での応答性の向上とスワップI/Oの削減を実現しますが、一部のCPUオーバーヘッドが発生します。詳細については、Macのメモリ圧縮の高いRAMを修正する方法をご覧ください。
メモリ圧縮に関するFAQ
- Qメモリ圧縮の意味は何ですか?
-
A
メモリ圧縮は、オペレーティングシステムが非アクティブなデータを圧縮形式でRAMに保存し、スペースを節約し、ディスクへのスワップを減らす技術です。
- QRAMを圧縮するのは普通ですか?
-
A
はい。 macOS、Windows 10/11、Linuxなどのモダンシステムは、RAMが圧迫されていると自動的にメモリ圧縮を使用します。
- Qメモリ圧縮を無効にすべきですか?
-
A
いいえ。通常、パフォーマンスが向上します。無効にすると、ディスクスワッピングが増えて応答時間が遅くなる可能性があります。