殿堂入り記事

MacBook Airの動作が重くなったのでメンテナンスしたら軽くなった件

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

MacBook Airが重い

クラスメソッドでは、AWSチーム発足時から、JOINしたメンバーにMacBook Airを標準機として配っていました。最近、動作が遅くて困っているという声を聞くようになりました。全員がVMWare FusionにWindowsを入れていたり、Docker使ったりと、開発環境を整えているので、確かにメモリ8GBでも足りないかもしれません。私のマシンも文字入力で表示がワンテンポ遅れるほどの重さで困った状態でした。

今回試したマシンは、MacBook Air(13-inch, Mid 2013), 1.7GHz Core i7, メモリ8GB、OS X Yosemite(10.10.3)です。

UPDATE : 貴重なご意見頂いていますので追加しています。

解決策

最新マシンに乗り換える

エンジニアはマシンが遅いと仕事になりません。そこで、現時点で最新で全部盛りのMacBook Proに乗り換えてもらいました。クラスメソッドでは、ディスプレイサイズやマシンスペックを上げると2乗の仕事量が振ってくるという言い伝えがあります。これは、常に全エンジニアに最高の環境を均一的に与えることができないため、ご褒美ではなく、戦闘力UPと思ってもらうためです。バリバリ働きたいエンジニアは、「最新マシンが必要ですっ!」といいますし、控えめでエコなエンジニアは、「今のマシンで十分ですっ」と言ってくれます。

既存マシンをメンテナンスする

私は、昔から新品PCを使うことがなく、MS-DOSの頃から中古マシンばかり使っていましたので、チューニングやメンテナンスが好きです。UMBとかHIMEM.SYSとか聞いてワクワクするオジサン周りにいますよね。ATOKを入れて500KBのメモリ領域を確保するのが高校時代の流行りでした。もちろん、最新マシンはもっと好きですw。

ということで、今回は、MacBook Airの環境を快適にするために基本的なメンテンナスを行なってみたいと思います。内容については、ググったら出てくる基本的なものばかりですのでご了承ください。

パフォーマンスに影響あるものって何?

コンピュータの良好な動作に影響を与える可能性あるコンポーネントは何でしょうか。CPU、メモリ、GPU,VRAM、ブートドライブ、ストレージ、I/Oインタフェース、OS、ファームウェア、ドライバ、プログラム、ファイルあたりでしょうか。また、インターネットを利用する際に影響が出るのは、通信速度、プロトコル、DNS、リクエスト数、ルーティング、キャッシュあたりでしょうか。

これらのコンポーネントが用途に合わせて正しく設定されているか確認し、遅い動作の原因となっていそうであれば、設定リセットや調整することで、快適な動作に繋がる可能性がありますので試してみましょう。

メンテナンス

ディスクのアクセス権を修復

アプリケーション > ユーティリティ > ディスクユーティリティを選択します。検証の後に修復をします。

screenshot 2015-04-19 14.15.42

セーフモードで再起動

レジュームで使い続けていると動作がおかしくなることありませんでしょうか。1週間に1回は明示的に再起動します。また、SHIFTずっとを押しながら再起動することで、セーフモードの起動となります。起動時に所定のチェックを行なってくれるので、何かしら気がついてないトラブルなどの解消に役立つかもしれません。セーフモードで起動したら、改めて再起動しましょう。

screenshot 2015-04-19 14.29.27

OS X:セーフブート、セーフモードとは?

NVRAMのリセット

NVRAMは、スピーカーや画面解像度などの環境情報を管理している部分です。「command + option + P + R」キーを押してマシンを起動します。

Mac の NVRAM をリセットする方法

SMC(システム管理コントローラ)のリセット

何やっても直らない場合には、SMCのリセットをしてみましょう。SMCは、電源やバッテリーなどの環境情報を管理している部分です。ずっとファンが回りっぱなしなどが症状として考えられます。

電源をOFFにしてから、「(左の) shift + control + option」キーを押してマシンを起動します。

Intel ベースの Mac:SMC (システム管理コントローラ) のリセット

ハードウェアテストする

何やっても動作がおかしいときには、Appleが提供しているハードウェアテストをやってみてはいかがでしょうか。

Apple Diagnostics の使い方

ワイヤレス診断

インターネットに接続するアプリがほとんどだと思いますので、無線の状況が悪いと全体的にもっさりした動作になるかもしれません。そこで、ワイヤレス診断をしてみたいと思います。「Optionキーを押しながら無線マーク」を選択してください

screenshot_2015-04-20_21_24_15

設定を変更

再起動時のアプリを制限

システム環境設定 > ユーザとグループ > ログイン項目を選択します。あまり使わないアプリをOFFにしてリストから消します。

screenshot_2015-04-19_14_20_49

機能拡張

システム環境設定 > 機能拡張を選択します。Macって色々カスタマイズされていたんですね(汗。どうしても必要なもの以外は全部OFFにします。

screenshot 2015-04-19 14.23.46

ごみ箱

空にします。

screenshot 2015-04-19 14.27.32

デスクトップをキレイに

デスクトップに何も置かないと爽やかな気持ちになりますね。スクリーンショットの保存場所がデスクトップになっている方も多いと思います。これは変更できますのでやってみましょう。

$ defaults write com.apple.screencapture location ~/Desktop/Screenshots
$ killall SystemUIServer
$ defaults read com.apple.screencapture location
/Users/myname/Desktop/Screenshots

これでデスクトップがスクリーンショットだらけになることを防げますね。

コントラストを上げる

透明な表示を消してみます。グラフィックボードが付いているので効果のほどは定かではありませんが、見た目をシンプルにすることでサクサク動くケースもあるかと思います。

screenshot 2015-04-20 16.06.17

アクセシビリティ

VoiceOverなどのアクセシビリティ系のツールをOFFにします。

Safariを使う

Apple公式ページによると、Safariを使うだけでバッテリーが2時間長持ちするらしいです。使用するCPUやメモリが少なく、反応速度も良好なようですね。

screenshot 2015-04-20 16.17.14

Safari 最高のネットサーフィンをしよう。

ここでひとつ気になるのがタブにfaviconが表示されないことです。YosemiteだとGlimsが動かないと報告があるので他のを試してみます。今回は、SafariStandというのを使ってみます。EasySIMBLを入れてプラグインという形で利用します。最後に注意としては、プラグインを入れるので多少遅くなるかもしれません...。

screenshot 2015-04-21 10.53.46

Add favicons to Safari 8 tabs

Flashを最新版に上げる

常に最新版に上げることで、セキュリティ向上やパフォーマンス向上が見込めると思います。PPAPIがインストールされていなかったので入れてみました。

screenshot 2015-04-21 8.03.01

Javaを最新版に上げる

常に最新版に上げることで、セキュリティ向上やパフォーマンス向上が見込めると思います。

screenshot 2015-04-21 9.04.37

ネットワーク周り

ネットワークユーティリティ

ネットワークの調子がおかしいとか繋がっているか確認するために、「ネットワークユーティリティ」を用います。Spotlightで「ネットワークユーティリティ」と入力すると出てきます。

screenshot 2015-04-20 21.57.01

お馴染みのコマンドを画面から実行できます。

screenshot_2015-04-20_21_56_49

OS X:ネットワークユーティリティについて

IPv6をOFFにする

IPv6を使う機会がない場合、TCP/IPの設定を「自動」ではなく「切」にしても問題ないと思います。ネットワークの設定を開いて、TCP/IPタブからIPv6の設定で「切」に設定できない場合、コマンドラインから設定してみてください。

$ networksetup -listnetworkserviceorder
$ sudo networksetup -setv6off [上記リスト内のWiFi名]

この結果、画面上で「切」を選択できるようになります。

screenshot 2015-04-20 21.33.38

Wi-FiのPHY Modeを確認

Wi-Fi接続をする際に、「802.11nプロトコル」を使っているか確認をしてください。これは、効率よく高速に通信できるプロトコルです(2009年最速)。ネットワークが遅い場合には確認してみましょう。「Optionキーを押しながら無線マーク」を選択してください。PHY Modeが802.11nになっていればOKです。

screenshot_2015-04-20_21_49_19

今一番速い規格は、802.11ad(2013年最速)で、6.9Gbpsのスループットが出るようです...

IEEE 802.11

DNSサーバを指定

高速なDNSを指定することで全体を高速化する方法もあります。namebenchを使って計測してみると分かりますが、8.8.8.8を指定すると早くなります。

screenshot 2015-04-20 22.08.13

計測結果によってやはり早いことが分かりました。

screenshot 2015-04-20 22.18.24

namebench - Open-source DNS Benchmark Utility

MTUを設定する

伝送単位を調整したいと思います。現在のネットワークに最適な伝送単位を計測するサイトがありますのでアクセスしてみます。

SG TCP/IP Analyzer

私の自宅はJCOMなのですが、イーサネットのためか1500が最適と表示されました。Bフレッツの場合はL2TPのため1454とかでしょうか。現在の値をコマンドで確認することもできます。

$ networksetup -getMTU en0
Active MTU: 1500 (Current Setting: 1500)

画面で設定する場合は、ネットワークの設定から行いましょう

screenshot_2015-04-21_9_01_25

discoveryd serviceのリフレッシュ

Yosemiteにアップグレードしたらネットワーク接続の調子が悪くなった方がいましたら以下のようなコマンドはいかがでしょうか。discoveryd serviceをリフレッシュすることができます。

$ sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
$ sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

スピードテストする

色々メンテンナンスした結果、ネットワーク速度がどの程度になったか試してみます。たとえばUSENのページです。

USEN スピードテスト

まとめ

ググればいくらでも見つかるMacBookのメンテナンス方法でしたが、実際にやっていない人も多いのではと思います。今回は、実際にやってみてサクサク動くようになったので共有とさせて頂きました。主に社内向けですw。

参考情報

..Step by Step to fix your Mac

Fix Wi-Fi Problems in OS X Yosemite