Mavericks以降のSafariってGoogle Chromeのようにタブごとにプロセスを生成するようになっているので、たくさんタブを開いておくとどんどんメモリを消費していきます。気がついたら軽く1GB越えなんてことはしょっちゅう。で、その結果動作が重くなってしまう。
かつては軽さがウリだったはずのSafariなのに(Google Chromeもだけど)それじゃいかんだろ、と。
何か解決方法はないかと調べていたら以前のバージョンのSafariのように、タブごとのプロセスを生成しない方式に変更できることがわかり、試してみた結果、ずいぶんメモリ使用量を減らすことができたので、その方法をご紹介。
対策方法
Safariに「Debug」メニューを表示させる
- Safariを開いている場合は終了させる
- ターミナルを起動
- defaults write com.apple.Safari IncludeInternalDebugMenu 1
と入力 - Safariを開く
するとSafariの上部メニューの右端に「Debug」という項目が表示されていると思います。
その「Debug」メニューの一番上、「Disable Per-tab Web Processes」にチェックマークが入った状態にします。
これで以前のバージョンのSafariのようなプロセスモデルに変更できました。
Safariの「Debug」メニューを消す
このまま「Debug」メニューを表示させておいても問題はないですが、気になる人は以下の手順で「Debug」メニューを消すことができます。
- ターミナルを起動
- defaults write com.apple.Safari IncludeInternalDebugMenu 0
と入力 - Safariを再起動
注意点とまとめ
以前のバージョンのSafariのプロセスモデルに変更した場合、開いているタブのひとつがクラッシュしたら他のタブにも影響が及び、場合によってはSafariそのものがクラッシュする場合がありますが、使用上は問題ないように思います。
ちなみにうちの環境ではSafariのメモリ使用量が半分以下になり、キビキビと動作するようになりました。
Safariが重いと感じている人は試してみる価値があると思います。
プロセスモデルを元に戻したい場合は「Debug」メニューの一番上、「Disable Per-tab Web Processes」のチェックマークが外れた状態にすれば良いだけです。
コメント