LionのSafariが重い
昨年末に作業環境を刷新して一月ほど経とうとしてるんだけど、iOS というか WebKit のウェブアプリ開発で Safari を主に使っていると時折、従来に見受けられた JavaScript の無限ループみたいな感じの高い負荷で動かなくなってしまうことがあったのでその回避方法を公式のフォーラムから。
- Quit Safari
- Turn off bookmark syncing in the iCloud System Preference pane (under the Apple Menu)
- Select the Finder, under the GO menu, select “Go to Folder…”
- Enter in “~/Library/ ” (no quotes, first character is a tilde)
- Renamed the files “Bookmarks.plist” and “Bookmarks.sprt” to “Bookmarks-old.plist” and “Bookmark-old.sprt”
(.sprt appears to be a legacy file on my system not being used anymore, so you may not have it.)
- Go back into the Systems Preferences and turn on iCloud Bookmark settings
- Start Safari, give it some time to resync your bookmarks from the cloud.
ここではリネームしていますが、デスクトップに置いたりゴミ箱にいれてしまっても大丈夫かと。ちなみに .sprt ファイルは存在しませんでした。
原因と方法を簡単に言うと、iCloud でブックマークの同期を使っている場合に起きる事が多いので、Lion から不可視となったライブラリ>Safariフォルダにある Bookmarks.plist を再構築すると直りますよ、ということらしいです。
ところがどっこい、「SafariDAVclient taking 100% of CPU on Mac OS X 10.7.2 | Dave on Macs」によると、ブックマーク同期サービスを利用していなくてもこの問題が起きる場合があるそうで、こちらではまた違うやり方が紹介されています。
いずれにせよアクティビティモニタで確認すると SafariDAVclient というプロセスが悪さをしていることに変わりはなく、同期サービスを利用しているので前者の方法を使い一先ず処理速度が復帰したこともあり押さえているだけなのですが、もし今後問題が復活した場合は iCloud によるブックマークの同期サービスを控えて後者について試してみようと思います。(リーディングリストなんてサードパーティのサービスでも十分賄えますしね。)
個人事業主のウェブとiOSアプリ開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjCの読書実行試験運用管理を生業とし、BIND, SMTP, APACHE を FreeBSD, MacBSD, Mac OS X で使い、エディタは Vi, mi, Kod と遷移して現在は Smultron、そして Coda と Xcode の IDE を重用しています。作業の自動化や効率化の導入を応援しています。
P.S. 制作履歴はLinkedInの公開プロフィールをご覧ください。