いまさら MacBook Air mid 2011 をサクサクにするためにやった3つのこと

これはなに

やたら重くなった MacBook Air mid 2011 (memory 4GB, strage 250GB) をサクサクにするまでの苦闘の記録です

古いMacBookに発生した、つらみあふれる現象

  • ログイン画面を開いてからパスワードを入力するまで1分ほど待たされる
  • 起動してからブラウザを開くまでやたら時間がかかる
  • 何もしていなくてもメモリを3GBくらい専有されている

上記を解決し、ネットサーフィンくらいなら何も支障がない状態になりました!

そのために、いろいろチューニングした結果をまとめます

MacBook Air mid 2011をサクサクにするためにやったこと

以下の3つです

  • ストレージの空き容量確保
  • CPUを無駄に食うプロセスの整理
  • memoryを無駄に食うプロセスの整理(主にChrome)

ストレージの空き容量確保

なぜ空き容量確保が必要か?

もし、ストレージの空きが1GBを切っている場合、メモリ不足時に使用する仮想メモリ(swap)が確保できず、処理が遅くなったり、アプリが強制終了してしまう場合があります

そのため、空き容量を程度確保して、仮想メモリに余裕をもたせておいたほうが良いです

そうでなくても250GBってあんまり余裕ありませんしね...

空き容量を確保するためにやったこと

以下の3つです

  • 写真をgoogleフォトに移動
  • 音楽をgoogle play musicに移動
  • (エンジニア向け) brew cleanup -s を実行

google様にデータを握られるのは好き嫌いはあると思いますが、私はストレージの空き容量の確保と、スマホと複数マシンで写真/音楽が共有されるメリットを取りました

写真をgoogleフォトに移動

googleフォトヘルプに従って操作すれば何も難しいことはありません

support.google.com

しかし、写真アプリで写真を削除した後も、ユーザーディレクトリのピクチャに 写真 Library.photoslibrary というファイルが残る場合があります

これが数GBの容量を食っていることがあるので、こちらも削除しておきましょう

f:id:kasei_san:20190217133659p:plain
写真 Library.photoslibraryはここにあります

音楽をgoogle play musicに移動

こちらも写真と同様にヘルプに従えば移行できます

support.google.com

brew cleanup -s を実行

homebrew のキャッシュファイルをクリアするコマンドです

私の環境では約50MBしか削減されませんでしたが、環境によっては数十GBほどキャッシュされている場合があるようです

CPUを無駄に食うプロセスの整理

効果の高い順に以下の4つを実施しました

  • SMCをリセットする
  • Spotlight関係のプロセスのCPU負荷を下げる
  • windowServerのCPU負荷を下げる
  • spindumpの無効化

SMCをリセットする

SMCとは「システム管理コントローラ」というPCのローレベルの機能のコントローラーです

SMCには、CPUの温度が上がると自動的にCPUの性能を下げて熱暴走を抑える機能があります

しかし、誤動作でCPUの温度が高くないにもかかわらず、CPUの性能を下げてしまう場合があるようです

公式サポートでは、その場合SMCをリセットすることが推奨されています

support.apple.com

電源をOFFにした状態で shift + control + option と電源キーを10秒間押しましょう

電源キーを押しますが、電源が入ることはありません。何も起こらないな? と不安にならなくて大丈夫です

Spotlight関係のプロセスのCPU負荷を下げる

アクティビティモニタの「CPU」タブを見ていたところ、mds_stores というプロセスがCPUを占拠していました(常に25%くらい)

調べたところ、Spotlightで使用するプロセスのようです

私の環境ではAlfredを使用しており、Spotlightは未使用のため、おとなしくしてもらいました

Spotlightでは、検索対象のディレクトリを常にチェックするプロセスが走っています

それを黙らせるには、検索対象をゼロにする必要があります

システム環境設定 -> Spotlight から、それぞれ設定します

f:id:kasei_san:20190217135306p:plain
検索結果のすべてのチェックを外す

f:id:kasei_san:20190217135341p:plain
Spotlightの検索から除外する場所 に Macintosh HD を追加

windowServerのCPU負荷を下げる

windowServerは、画面に表示されるウインドウを管理するプロセスです

MacなのにwindowServer?ってなりますよね...

システム環境設定から、windowServerにてCPUを食う処理を無効化することで、CPU負荷を下げることができます

無効化の方法は以下をご参考ください(Yosemite時代の記録ですが、現行のOSでも設定は大差ありませんでした)

ringosuki.hateblo.jp

spindumpの無効化

spindumpもCPUを占拠していることがあったので、こちらに従い停止しました

blog.monophile.net

spindumpは実行中のアプリケーションの低レイヤ情報を書き出すためのソフトウェアだが、 得られる情報は一般的な利用目的(ソフトウェア開発以外)では役に立たないことが多いと思う。

とのことです

memoryを無駄に食うプロセスの整理

不要なプロセスは起動しないようにしたのと、一番メモリを食うgoogle Chromeの整理を行いました

未使用のアプリをログイン時に起動しないようにする

システム環境設定->ユーザーとグループ->ログイン項目 から、ログイン時に起動するアプリを設定できます

f:id:kasei_san:20190217150758p:plain
未使用のアプリは起動しないようにしましょう

google Chromeの使用メモリ削減

タスクマネージャーを使用して、メモリを食う機能拡張を特定しました

また、広告ブロッカーを導入することで、広告に使われるメモリを無くすことに成功しました

タスクマネージャーの起動方法

画面右上のメニューから その他のツール -> タスクマネージャー でタスクマネージャーを起動させることができます

これにより、メモリやCPUを食う機能拡張やサブフレームを探すことができます

メモリを食う割に使っていない機能拡張は削除しましょう

f:id:kasei_san:20190217151137p:plain
タスクマネージャーの起動方法

f:id:kasei_san:20190217151223p:plain
メモリを食う割に使っていない機能拡張は削除しましょう

Adblock plusの導入

機能拡張 Adblock plusを導入することで、広告やトラッキングのに使われるiframeの起動が抑制され、結果使用メモリが削減されます

広告ブロックは賛否ありますが、自分環境ではブロックしないと文化的なネットサーフィンが難しいそうでしたので導入しました...

chrome.google.com

広告やトラッキングに使用されるiframeは意外にメモリを食っており、例えばニコニコ大百科の場合、 Adblock plusを導入するとで使用メモリが200MBほど削減されます

(ここで表示されている「サブフレーム」というのがiframeのことですね)

f:id:kasei_san:20190217151700p:plain
Adblock plus導入前

f:id:kasei_san:20190217151714p:plain
Adblock plus導入後

まとめ

適切なチューニングをしたところ MacBook Air mid 2011 でも普通に動作するようになりました...!

MacBook Airを購入してから、日が経つごとにどんどん重くなっていって、OSアップデートごとに無駄に重くして買い替えを促進するAppleの陰謀か...などと思っていたのですが...

みなさんも定期的なチューニングで快適なMacBookAirライフをお過ごしください!