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.

引用元: What is SafariDAVclient?: Apple Support Communities.

ここではリネームしていますが、デスクトップに置いたりゴミ箱にいれてしまっても大丈夫かと。ちなみに .sprt ファイルは存在しませんでした。

原因と方法を簡単に言うと、iCloud でブックマークの同期を使っている場合に起きる事が多いので、Lion から不可視となったライブラリ>Safariフォルダにある Bookmarks.plist を再構築すると直りますよ、ということらしいです。

ところがどっこい、「SafariDAVclient taking 100% of CPU on Mac OS X 10.7.2 | Dave on Macs」によると、ブックマーク同期サービスを利用していなくてもこの問題が起きる場合があるそうで、こちらではまた違うやり方が紹介されています。

いずれにせよアクティビティモニタで確認すると SafariDAVclient というプロセスが悪さをしていることに変わりはなく、同期サービスを利用しているので前者の方法を使い一先ず処理速度が復帰したこともあり押さえているだけなのですが、もし今後問題が復活した場合は iCloud によるブックマークの同期サービスを控えて後者について試してみようと思います。(リーディングリストなんてサードパーティのサービスでも十分賄えますしね。)

投稿者: hkitago

個人事業主でウェブと iOS, Android アプリの開発者で一児の父親。JavaScript, ActionScript, AppleScript, PHP, SQL, ObjC, Swift, Java の読書実行試験運用管理を生業とし、Bind, Postfix, Apache を MacOS で使い、エディタは Vi, mi, Kod, Smultron, TextWrangler を経て Coda, Xcode, Android Studio, Atom といった IDE と CotEditor を重用しています。座右の銘は「アウトプットは量多い方がいい。フィルタは各自がやればいい。」です。