圧縮メモリ
別名: メモリ圧縮
結論
圧縮メモリは、RAMの空きを増やすためにmacOSがRAM内のデータを圧縮したものです。アクティビティモニタでは、その合計が“使用済みメモリ”の一部である“圧縮”として表示されます。
RAMが足りなくなると、macOSは最近使われていないメモリを、すぐにディスクへ移すのではなく圧縮します。圧縮と展開は、たいてい起動ディスクから読み込むよりずっと速く済みます。
ある程度の圧縮メモリは正常です。“メモリ”タブには合計が表示され、列を追加すれば、プロセスごとの圧縮量も確認できます。
このページの内容
圧縮メモリが多い理由
“圧縮”の数値が大きいのは、macOSが空きを作らなければならなかったということです。メモリプレッシャーが黄色になるのは、たいていこれが理由です。ディスクへのスワップの一歩手前の段階なので、アプリが空いている以上のRAMを求めているサインです。
どのアプリが圧縮されているかを確認する方法
“メモリ”タブで“表示” → “表示項目”を選び、“メモリ圧縮”の列を追加します。その列で並べ替えると、どのプロセスの圧縮データが最も多いかがわかります。多くの場合、長い間開いたまま使われていないアプリです。
“圧縮”の数値が実際に測っているもの
アクティビティモニタは“圧縮”を、最近使用されていないデータを圧縮したものを保存するために使用される物理メモリと説明しています。つまりこの数値は、圧縮されたデータがRAM内で占める領域であって、展開したときのデータのサイズではありません。
中のデータは“圧縮”の数値より大きく、その差が、macOSが圧縮によって得たメモリです。
Appleの説明によれば、Macがメモリの最大容量に近づくと、メモリ内の非アクティブなアプリが圧縮され、使っているアプリに回せるメモリが増えます。長い間バックグラウンドにあるアプリほど多くの圧縮メモリを抱えがちで、そうしたアプリに戻るとデータの展開で少し待たされることがあるのはこのためです。
圧縮、スワップ、メモリプレッシャーの関係
macOSは、メモリ不足に段階的に対処します。各段階は、アクティビティモニタの別々の場所に現れます。
- 最近使われていないデータが圧縮され、RAMに保持されます。“圧縮”の数値が増えます。
- 圧縮だけでは足りなくなると、macOSは圧縮されたデータを起動ディスクに移します。“スワップ使用領域”が増えます。
- アプリがそのデータを再び必要とすると、macOSはディスクから読み戻して展開します。これが頻繁に起こると、Macが遅く感じられ、メモリプレッシャーが黄色や赤になります。
ターミナルで圧縮メモリを確認する方法
読み取り専用の2つのコマンドで、アクティビティモニタが使うのと同じ情報を見られます。“stored”と“occupied”の数値を比べると、データがどれだけうまく圧縮されているかがわかります。両者の差が大きいほど、メモリ圧縮による節約が大きくなっています。
top -l 1 | grep PhysMemを実行します。かっこ内の“compressor”の数値が、圧縮されたデータを保持しているメモリです。vm_statを実行します。“Pages occupied by compressor”は圧縮されたデータが占めるRAM、“Pages stored in compressor”はそのデータを圧縮しなかった場合のサイズです。どちらも最初の行のページサイズを掛けるとバイトになります。vm_stat 5を実行すると5秒ごとに新しい行が表示されます。止めるにはControl+Cを押します。起動以降の合計を示す最初の行の後は、comprsとdcomprsの列に、各間隔で圧縮・展開されたページ数が表示されます。
圧縮メモリの普通の状態と気にすべき状態
普通: メモリプレッシャーが緑の間、“圧縮”が一定の水準にとどまっている。macOSは古いデータを小さな形で保持しているだけです。RAMが十分にあるMacでも、特にしばらく起動したままなら、ある程度の圧縮メモリがあるのはよくあることです。
気にすべき: “圧縮”が1日を通して増え続け、“スワップ使用領域”も一緒に増え、メモリプレッシャーが頻繁に黄色や赤になる。動かしているものに対してRAMが足りていないので、使っていないアプリを終了するか、重いアプリを同時に動かす数を減らしましょう。
よくある質問
アクティビティモニタの“圧縮”とは?
RAMを空けるためにmacOSが圧縮したメモリの量です。
圧縮メモリは問題?
いいえ。macOSがディスクを使わずに済ませるための仕組みです。圧縮が多く、しかもメモリプレッシャーが黄色や赤なら、作業内容に対してMacのRAMが足りていません。
圧縮メモリを減らすには?
使っていないアプリを終了します。アプリを終了すると、その圧縮メモリは解放されます。
圧縮メモリでMacは遅くなる?
圧縮と展開にはプロセッサの時間が多少かかりますが、たいていはディスクから読み込むよりずっと速く済みます。遅さを感じるのは、Macが絶えず圧縮とスワップをしなければならないときで、それはメモリプレッシャーの黄色や赤として現れます。
Macでメモリ圧縮をオフにできる?
“システム設定”にそのオプションはなく、触らないでおくべきです。圧縮がなければ、macOSはもっと早い段階でディスクを使わなければならず、そのほうが遅くなります。
“VM圧縮”の列とは?
“メモリ”タブで“表示 > 表示項目”から追加できる、プロセスごとの列です。各プロセスのメモリのうち、どれだけが圧縮されているかを示します。
関連項目
詳しい手順: Chromeのメモリ使用量が多すぎる。
アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。