こんにちは。最近登場した新型MacBook Proの登場により、iMacもMacBookも欲しくなってきた管理人です。(参考:新型Surface Bookと新型MacBook Pro 2016のスペックを比較して物欲を癒やす)
さて、Macユーザーの皆さん、お使いのPCの動作が重くなった時どうしていますか?
僕も含め、恐らく殆どの方が「メモリ解放」を行ってきたと思います。
結論から言っておくと、お手持ちのMacのOSがMarvericks以降であれば、メモリ解放を行う必要はありません。
ですが、メモリ管理アプリを入れていると以下のようにメモリ残量が表示されてしまい、気持ち悪いですよね?
メモリ解放アプリや再起動、ターミナルからの「sudo purge」コマンドによるメモリ解放と、今できるメモリ解放をやってみた時の数値の変化を確認しようと思います。
Mac OS X 10.9.x(Marvericks)より、Macのメモリ管理は「圧縮メモリ」へ移行
現在の最新のmacOS Sierraから2世代前のMarvericks(当然El Capitanも)より、Mac OSはメモリ管理方法を刷新し、「圧縮メモリ」と言われる方式を利用しています。
何もアプリケーションを使用していない状況(起動したて)はメモリをほとんど使っていませんが、アプリを起動するとメモリにより動作します。
そして、現行のmacOSはアプリケーションを終了してもキャッシュとして圧縮したメモリ領域を確保しておきます。
これを行うことにより、次同じアプリケーションを立ち上げる際に動作を早く起動させることが出来るのです。
Windowsと異なり、アプリケーションを終了しても対してメモリ使用量がさほど減らないのは、そういう訳です。
アクティビティモニタで、自分のMacのメモリ使用状況を見てみる
僕が使用しているMacはMacBook Pro Retina mid2014モデルで、メモリは16GB積んでいます。(参考:Mac製品の型番を調べ、ソフマップ「らくらく宅配買取」で家から出ずに売る方法)
しかし、仮想環境(MAMP(Apache,MySQL))やブラウザ複数を立ち上げ、Evernoteなどのメモリ喰いアプリを多く開いている僕のMacは、いつも残メモリ量を気にしないといけない状態です。
SlackとCyberduck(FTPアプリ)がメモリをドカ食いしていますね…。
これからWordPress環境をローカルに移すべく、VagrantとVirtual boxを立ち上げようとしているのですが、流石に心もとないメモリ量です。
無料のメモリ解放アプリでメモリ解放してみる
そこで、このアクティビティモニタを見ながら、Macのメモリ解放アプリを使って実際にメモリを開放してみます。
以下は、Mac AppStoreにて評価の高かった「Memory Clean」「Memory Cleaner X」「Memory Cleaner」になります。
僕が一番使っている「Memory Clean」でメモリ解放してみる
AppStoreリンク:https://itunes.apple.com/jp/app/memory-clean-monitor-free/id451444120?mt=12
メモリ解放する前のアクティビティモニタを見ると、以下でした。
ここから、Memory Cleanを実際に起動して、メモリ解放を行います。
表示されている残りメモリの値とか、キャッシュされたメモリの量とかピッタリ一致していますね。当然ですが。
これが完了後。アクティビティモニタだと、以下になります。
スワップ使用領域が減らないどころか、増えている!?(しかも、残りメモリも1GBしか増えていない…)
こりゃダメだ、ということで削除しました。
「Memory Cleaner X」のメモリ解放はどうか
AppStoreリンク:https://itunes.apple.com/jp/app/memory-cleaner-x-free-up-memory/id518830108?mt=12
メモリ解放前のアクティビティモニタの数値はこちら。
アプリを起動して、メモリ解放します。
メモリ解放後はこのような表示に変わりました。
アクティビティモニタの結果が以下です。
アプリケーションメモリが5.42GB→1.59GBと激減しました。
これにより使用可能メモリは増えましたが、スワップ使用領域が1GB増えている…つまり、3GBほどのメモリ解放になります。
「Memory Cleaner」でメモリ解放してみる
AppStoreリンク:https://itunes.apple.com/jp/app/memory-cleaner-kurikkusurudakede/id748212890?mt=12
メモリ解放前のアクティビティモニタの数値はこちら。
それでは、Memory Cleanerを起動。突然subscribeのポップアップが出てきて焦りましたが、無視してOptimize。
結果、以下のようになりました。
アクティビティモニタだと以下のようになります。
キャッシュされたファイルと、圧縮で1GBずつほど削減されていますが、効果はそんなに無いようです。
無料アプリによるメモリ解放は、失敗に終わりました。
ターミナルで「sudo purge」コマンドを使ってメモリ解放する
やり方は簡単で、ターミナルを起動して「sudo purge」を打ってenter押すだけ。(その後、パスワードを要求されますがご自分で設定したログイン時のパスワードを入力してenterを押しましょう。)
ターミナルからコマンド打つだけで非常に簡単なので、これでメモリ解放が楽にできるなら捗るのですが…。
メモリ解放後は以下になります。
ん?ほとんど変わっていない…?
残念ながら、sudo purgeコマンドではメモリ解放できませんでした。
Windowsでトラブルが起こった時の魔法の手段「再起動」をやってみる
パソコンが不具合を起こした時、再起動すれば直るというのはWindowsユーザーなら常識です。
かくいう僕も、自宅には高性能ゲーミングPC(Windows)がありますし、それに習ってMacも再起動してみました。(参考:ドスパラ人気BTOデスクトップPC vs 同一PCパーツ価格.com最安値組み合わせ)
再起動前のアクティビティモニタの数値は以下です。
再起動後、同じアプリを全て開いた状態でどうなったかというと…
アプリケーションメモリが起動時だからか4.80GB→9.42GBと大幅に増えてしまった…。
トータルのメモリ使用可能領域は2.30GBほど増えましたが、再起動という手間を考えると「Memory Cleaner X」が一番良さそうです。
ここで、結局最初の話に戻るのですが、macOSは基本的にメモリを先に確保するように作動するため、メモリ残量は気にする必要ありません。
僕も、メモリ解放アプリを全て外し、気になる時はアプリケーションの終了とSMC・VRAMリセット等の再起動により改善しようと思います。