🐥

Mac が重くなった時にすること(soagent と callserviced を止める)

2021/02/02に公開

こんばんは、sasumasa です。

今日は同居人の Mac が重くなって使っているソフトが全然動かなくなった時に行った対処法を書いていきたいと思います。

エンジニアの人からするととても当たり前のことですが、結論からいうと、こんな感じです。

  1. メモリ・CPU 使用率を確認する
  2. 使用率が高いプロセスが必要か不要かを判断する
  3. 2 のプロセスが不要である → 対処する
  4. 2 のプロセスが必要である → 我慢する or スペックを上げるなどの対応をする

これらについて簡単に説明していきます。

メモリ・CPU 使用率を確認する

まずは PC が重くなっている原因を突き止めます。

僕が使うのは手軽な top コマンドですが、同居人はエンジニアではないのでアクティビティモニタを使ってもらいました。

アクティビティモニタは shell を使うよりもずっとわかりやすい UI でプロセスの使用状況を確認できます。

今回の場合、同居人の PC 上で動いているプロセスはこんな感じでした。

メモリプレッシャーがすごいことになっています。直感的に二人で Photoshop を使っているからじゃないかとか Adobe XD を使っているんじゃないか、という話をしていたのですが、やっぱりちゃんと調べておくことは大事ですね。この二つとは全く違うプロセスが 23 GB もメモリを使っていました。

さて、次に考えるべきは 2 の「使用率が高いプロセスが必要か不要かを判断する」ですね。

callserviced と soagent は必要なのか?

僕も見慣れなかった soagent と callserviced についてググると、こんな記事が見つかりました。

https://www.journey2past.site/2017/07/soagentcallservicesd.html

この記事では callserviced と soagent が CPU をめちゃくちゃ食っている状況に出会した方がどのように対応したかが書かれていました。

どうやらこのプロセスは Apple の連絡先アプリに関係するプロセスのようです。

soagentもcallservicesdも連絡先アプリの関係プロセスというのは判っている。

まず、これで問題のアプリは連絡先アプリに関係するプロセスだとわかりました。

同居人に聞いたところ、連絡先アプリは全く利用しておらず、無意識にいろいろ同期してしまっていそうだとのこと。

僕が先ほど冒頭であげたパターンで言うと 3 のパターンと言えそうです。

  1. 使用率が高いプロセスが必要か不要かを判断する
  2. 2 のプロセスが不要である → 対処する
  3. 2 のプロセスが必要である → 我慢する or スペックを上げるなどの対応をする

この不要なプロセスの仕事を抑えるか、完全に消す方法を探します。

不要なプロセスの仕事を減らす

上の記事に対処法が書いてありました。

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

(中略)

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

まさにこの通りのことをすると、一気にメモリ使用量は下がり、アクティビティモニタのメモリ・CPU 利用料のトップは Photoshop や XD になり、Mac はスムーズに利用できるようになりました。

まずは調べる、対応できなかったらスペックを上げる

今回はこのやり方でうまくいきましたが、どうしてもソフトウェアの問題というよりはマシンの問題ということもあります。

僕は 2017 年くらいに買った Macbook を使っていましたが、どうしても動作が遅くなってしまい、12 月くらいに M1 Macbook Pro を買いました。

冒頭のトラブルシューティングで言うと 4 のパターンとなります。

と言ってもこれは最終手段なので、まずは原因を調べて、そのトラブルの原因を取り除くことを考えてみると良さそうです。

今日は簡単な Mac 重くなる問題の解決法について買いてみました。

Discussion