soagentとcallservicesdを止める

Hi folks,
Are you searching workaround for soagent and/or callservicesd issue?
Following thread might help you resolve the problem.
"Problems with callservicesd and soagent"
Ralph John's answer "It is best to use only one account" work fine for me ;)

いつの頃からかMac OS X のCPU負荷が、作業に支障をきたすほど高くなる現象が頻発にするようになっていた。
具体的には soagent と callservicesd の双子のようなプロセスがCPU(正確にはコアだけど)の100%前後を使い、両方合わせて200%以上。
普通はChromeも立ち上げているし、それに加えてOffice系やら何やら動いているので、本当に仕事にならない。

 ということで問題を解決すべく立ち上がった。 ちなみにアクティビティモニタの表示はこんな感じ。


常時98%だ97%だという訳ではなく、数分で元のレベルに戻るのだけれど、とにかくこれではストレスが溜まる。

ちなみにうちのマシンはLate 2012のiMac + macOS sierra がメイン、サブがMid 2011のMBA 13インチ + macOS Sierra。
どちらも同様の現象が出ている。

soagentもcallservicesdも連絡先アプリの関係プロセスというのは判っている。
まずはGoogleで "soagent callservicesd" と単語を並べて検索したら、あっけなく解決策がヒット。

Appleのディスカッションフォーラムにそのものズバリの
"Problems with callservicesd and soagent" というスレッドがあった。

回答のうちRalph Johns氏の2015年7月の回答がそのまま解決策であった。
同期させるのは1アカウントだけ

筆者は連絡先の同期先として2つの iCloudのアカウントを指定している。一方は万が一のバックアップとして、メインのiCloudから時々スナップショットを取って上げ直しているだけなので、通常は同期しなくても構わない。
そこで一方のiCloudの同期をオフにしてみた。



手順は
1. Appleメニューから(あるいはドックから)システム環境設定を開く
2. 「インターネットアカウント」を選ぶ
3. 同期をオフにしたいアカウントをクリックし、「連絡先」のチェックをオフにする

本当はMacを再起動する方が良いと思うがとりあえずそのまま経過を見てみると、同期をオフにした直後はsoagentとcallservicesdのコンビが高負荷で動いているがそのうち目立たなくなり、一日動かしてみたがもう以前のような高負荷で動くことはなかった。

念の為、また同期をオンにしてみると・・・以前のように1時間に1回、1回あたり数分間の高負荷状態が続くようになった。
やはり同期するアカウントは1つだけというのが正解のようである。
また、iCloudとGmailのアカウントを同期させている場合は、まずGmailやGoogle Appの方の同期をオフにした方が良さそうである。

筆者の場合は同期するアカウントが1つだけでよいのでうまく解決策が見つかったが、複数アカウントの同期が必要な場合(個人用と仕事用で分けている場合とか)の解決策はどうも無いようである。
com.apple.soagent.plistを削除するとか、ディスクユーティリティでファイルパーミッションを設定し直せとか、いろいろ情報はあるようだがどうも特定の環境だけのような気がする。

いずれにせよ、最近Macが遅い、調べたら soagent とか callservicesd がやたらCPUを食ってるといった場合は、連絡先の同期を1アカウントにするのが有効なようである。


このエントリーをはてなブックマークに追加