Macでどうしてもメモリがスワップ される件について

  • どうやってもMacのスワップ 使用領域がなくならない…
  • これってメモリが足らないのかな…?
  • スワップ ってことはSSDの寿命が縮まってる…?

このMacBookのアクティビティモニタを見てメモリが足りていないと思った方はこの記事を読むメリットがあるかもしれません。

Macのアクティビティモニタ

Macのアクティビティモニタ。スワップ 使用領域に注目。

 

ある日自分のMacBookのアクティビティモニタをふと見て気づきました。

スワップ 領域が使われているということに。

「あれっ?スワップ ってメモリが足りない時にSSDとかHDDとかの一部がメモリの代わりになるやつだよね…??」

「ってことはこのMacBookってメモリ足りてないの〜??」

と。

しかもスワップ しているってことは、

  • 常にメモリが足りていないので動作速度が落ちている可能性
  • 常にメモリが足りていない部分をSSDが担っているので(SSDの)寿命が短くなる可能性

があるのかもしれない…。ええぇぇ。

まさか…atomとChromeとSlackしか起動していないのにメモリ8gbじゃ足りないというのか?そんなわけないだろ…というわけでMacのメモリについて少し調べてみました。

Macのメモリの見方

というわけでApple公式のページを見てみます。

Mac でアクティビティモニタを使う
(上記リンクから飛べます。)

上記リンクを一通り読んでみると、なんだかwindowsパソコンとメモリの使われ方が違うように見えます。

Windowsの場合スワップ といえば、メモリが足りない時に
どうしようもないからSSDやHDDといったドライブの一部を使う
ということになるかと思います。

しかし、Macの場合はなんか違いそうですね。

上記リンクによるとMacが実際に使用しているメモリは使用済みメモリ という欄だそうです。

キャッシュされたファイルというのはキャッシュされているだけで、あくまで未使用メモリ扱いです。なのでこの部分は空きメモリとしてみていいようです。

例として僕のメモリの画像を再び貼っておきます。

この場合、Macが使用しているメモリは5.15GBです。

8GB中5.15GBしか使っていないのにも関わらずスワップ を生成しているということがわかりました。

 

MacとWindowsでメモリの使われ方が違う?

ここまでの情報をまとめると

  • Macは終了したアプリの情報もキャッシュとしてメモリに残す。
    (ただしその部分は空きメモリとして扱われる!)
  • あくまで使っているメモリは使用済みメモリの欄。

というわけで、Macはメモリをどんなに積んでいようとギリギリまで使っていくスタイルだということがわかります。

ちなみに、Windowsの場合はメモリを必要以上にメモリと搭載していると余らせてしまいます。

(これだからMacは最高なんだぜ…)

 

本当にメモリが足りない時はメモリプレッシャーが赤くなる。

本当にメモリが足りていないときはメモリプレッシャーが赤くなるようです。

  • 緑:メモリリソースが利用可能です。
  • 黄:メモリリソースは利用可能ですが、圧縮などのメモリ管理プロセスによる負荷がかかっています。
  • 赤:メモリリソースが不足し、macOS がメモリの代わりに起動ドライブを使用しています。利用可能な RAM を増やすには、1 つまたは複数のアプリケーションを終了するか、RAM を増設します。この情報は、Mac に RAM の追加が必要かどうかを判断する際の最有力な材料となります。

上記リンクより引用

 

例えば僕の場合は大丈夫なようです。

この場合はメモリが足りている。

 

というわけでメモリプレッシャーが赤くなっていない人はメモリ不足というわけではないので安心ですね。

 

Macはスワップ領域が使われていても問題ない?

っでここからは完全に個人的な予想でAppleが明言しているわけではないのですが、
メモリが不足していないということは(Windowsのスワップ の挙動と違い)はスワップ 領域に頻繁にアクセスはしていないと思われます。

なのでスワップ領域 が使われているからといってMacの動作が遅くなったり、SSDの寿命が短くなるという可能性は少なそうです。

ちょっとアクティビティモニタのメモリの見方が複雑になっていますが、結局はメモリプレッシャーが赤くなっていなければ問題ないということです。

 

何か間違っていることがあればコメント欄にて報告していただけるとありがたいです。。。