accountsdがCPU・メモリを著しく消費している場合の対処法

macOS Catalinaに限らずaccountsdというプロセスがMacのCPUあるいはメモリを著しく消費し、macOS全体が重くなってしまう場合がある。

今回はaccountsdプロセスがCPU・メモリを著しく消費している場合の対処法を紹介する。

NOTE
macOS Catalina 10.15.7以降、accountsdによりCPU使用率が著しく高くなる問題が多数発生しています。

How to stop CPU usage from accountsd macos - Reddit
Accountsd using up all my cpu! - MacRumors Forums
Accountsd: How to Fix High CPU Usage on Mac - MacRumors

accountsdとは?

accountsdとは現行の全てのmacOSに存在するプロセスであり、iCloudやカレンダー・写真・ミュージックアプリやiTunes、メールなどApple IDでサインインする必要がある全てのアプリケーションで使用されるプロセスだ。

このプロセスによってiCloudなどの同期が保たれているためmacOSにとっては非常に重要なプロセスである。

accountsdプロセスのCPU・メモリ使用率が高い場合の対処法

下記の対処法の中にはデータが失われるなどのリスクが高いものも含まれるため、実行する際は自己責任でお願いしたい。

なお、下記の対処法は全て管理人の実験機(MBP 13 2019 + Catalina)で実際に実行している。

accountsdプロセスをリセットしてCPU・メモリの消費をリセットする

前述のようにaccountsdは重要なプロセスであるが、著しくCPU・メモリを消費する場合があるのでaccountsdのCPU使用率やメモリ使用量が極端に高い場合は以下の手順でリセットしてみよう。

ターミナルを開き以下のコマンドを入力する

sudo killall -HUP accountsd

鍵マークが出るので管理者パスワードを入力してエンターキーを押そう。

以上でaccountsdがリセットされ、アクティビティモニタを注視してみるとCPU使用率やメモリ使用量がリセットされていることが確認できるはずだ。

アクビティビティモニタから単純にプロセスを終了させてもいいのだが、ターミナルからであれば-HUP(SIGHUP)というシグナル名を使用できるため異常が起きているプロセスを終了させる場合はターミナルから-HUPシグナルを使用して終了させた方がいい。

なお、accountsdのリセットにより主にiCloud関係のアプリケーションに予期せぬ不具合が発生する可能性もあるのでアプリケーションの動作に異常が見られたらそのアプリケーションを終了させ、もう一度起動してみよう。

Googleアカウントを停止、または削除

macOS Catalina及びGmailを使用しているアカウントでaccountsdのCPU使用率が高くなるという問題が海外で多数報告されているため、もしGoogleアカウントを一切使っていないのであればシステム環境設定やメールアプリの「アカウント」の設定からGoogleアカウントを停止(「メール」などのチェックボックスのチェックを全部外す)、または削除してみよう。

もしGoogleアカウントを停止するだけでは改善しない場合、他のアカウント(Yahoo!など)でも同様にチェックを外してみる。

また、単にメールアプリを完全に終了させるだけでもaccountsdのCPU使用率が落ち着く場合がある。

メールアプリの接続診断でアカウントの接続をチェック

メールアプリを開きメニューバーの「ウィンドウ」から「接続診断」を実行してメールアカウントの接続を一度チェックしてみよう。

もし上記画像のウィンドウで特定のアカウントへの接続が正常に行われていなかったり、接続を試みようとループしているアカウントがある場合、そのアカウント(サーバー)の接続に異常が生じてCPU使用率が高くなっている可能性があるため、当該アカウントを「アカウント」設定から削除、または再登録してみよう。

SpotlightでMacintosh HDを除外

Spotlightの設定で「プライバシー」にMacintosh HDを追加し、「-」ボタンですぐにプライバシーから削除してSpotlight検索を再構築してみる(Macintosh HDのデータが消えるわけではないので安心してほしい)。

Apple IDからサインアウト

システム環境設定のApple IDを開いて「サインアウト」をクリックしてApple ID(iCloud)からサインアウトし、再起動してみる。

iCloud Driveの同期項目を全部オフにする

システム環境設定の「インターネットアカウント」を開きサイドパネルから「iCloud」を選択し、「iCloud Drive」のオプションをクリック。

全ての項目をオフにしてMacを再起動し、再度チェックを付け直す(チェックを外すとファイル類の再ダウンロードが必要になる場合があるため注意。管理人は再ダウンロードの必要がありました)。

SMC・NVRAMのリセット

Appleが案内する下記の方法でSMC及びNVRAMをリセットする。

SMCのリセット方法(T2チップ搭載ノート型Mac)
  1. Macをシステム終了します。
  2. 内蔵キーボードで、以下のキーをすべて長押しします。場合によっては、Macの電源が入ります。
    • キーボードの左側の「control 」キー
    • キーボードの左側の「option (Alt) 」キー
    • キーボードの右側の「shift 」キー
  3. 上記3つのすべてのキーを7秒間押し続け、電源ボタンも長押しします。Macの電源が入っている場合は、キーを押し続けている間に電源が切れます。
  4. 4つすべてのキーをさらに7秒押し続けてから、指を放します。
  5. 数秒待ってから、電源ボタンを押してMacの電源を入れます。
SMCのリセット方法(デスクトップコンピュータ)
  1. Macをシステム終了し、電源コードを外します。
  2. 15秒待ってから、電源コードを接続し直します。
  3. 5秒待ってから、電源ボタンを押してMacの電源を入れます。
NVRAMのリセット方法
  1. Macをシステム終了してから、電源を入れ、すぐに「option」「command」「P」「R」の 4つのキーを同時に押し、20秒ほど押し続けてからキーを放します。その間、Mac は再起動しているように見えます。
  2. 起動音が鳴るMacの場合は、2回目の起動音が鳴った時点でキーを放してかまいません。
  3. Apple T2セキュリティチップを搭載したMacコンピュータの場合は、2 回目の Appleロゴが表示され、消えた後でキーを放すことができます。
  4. Macの起動が終わったら、必要に応じて、システム環境設定を開いて、リセットされた設定内容 (音量、画面解像度、起動ディスクの選択、時間帯など) を調整してください。
T2チップ非搭載Macでのリセット方法

T2チップ非搭載MacのSMCリセット方法は全て掲載すると記事が長くなってしまうため、下記のリンクを参照していただきたい。

参考 Mac の SMC をリセットする方法Apple

メールアプリ関連設定ファイルの削除(リスク中)

まず一度iCloudの「メール」アプリのチェックを外して同期をオフにする。

続いて下記の場所にある「PersistenceInfo.plist」と「Container.plist」の二つのファイルを削除する。

フォルダに移動する際はFinderのメニューバーの「移動」>「フォルダへ移動」、もしくはCommand+Shift+Gキーを押してフォルダへのパス(Path)を入力しよう。

~/Library/mail
~/Library/containers/com.apple.mail

二つのファイルを削除したら再度iCloudで「メール」アプリのチェックを付ける。

実際に管理人は上記二つのファイルを削除し、特別不具合などは生じなかったもののある程度のリスクはあるため注意。

Account.sqliteのリネームとリセット(リスク高)

下記のターミナルコマンドを実行してAccount.sqliteのリネームとリセットを行う。

注意
下記のコマンドを実行すると全てのアカウントがリセットされ再設定が必要な他、メールアプリを使用している場合、メールも喪失するか再ダウンロードする必要があります。
下記コマンドはバックアップを行ってから実行することを強くお勧めします。
管理人は実際に下記コマンドを実行し、アカウントやメールの再設定、数千通のメールの再ダウンロード、Apple IDへの再ログインなどが必要となりました。
sudo -v ; killall -9 accountsd http://com.apple.iCloudHelper ; defaults delete MobileMeAccounts ; mkdir ~/Library/Accounts/Backup ; mv ~/Library/Accounts/.sqlite ~/Library/Accounts/Backup/ ; killall -9 accountsd http://com.apple.iCloudHelper ; sudo reboot

パスワードの入力を促されたら管理者パスワードを実行してエンターキー。

エンターキーを押してしばらくするとMacは自動的に再起動し、Apple IDを含めた全てのアカウントが強制リセットされる。

メールアプリのメールなども全て失われるか再ダウンロードの必要があるため、この操作は必ずバックアップをしてから行おう。

キーチェーンデータベースを削除(リスク高)

もし何をやってもaccountsdの問題を解決できない場合、下記の場所にあるキーチェーンのローカルデータベースを削除してみよう。

なお、キーチェーンのデータベースの削除はApple IDやキーチェーンに保存されているパスワードなどのデータがおかしくなる可能性がある点に注意。

~/Library/Keychains

フォルダに移動する際はFinderのメニューバーの「移動」>「フォルダへ移動」、もしくはCommand+Shift+Gキーを押してフォルダへのパス(Path)を入力しよう。

「Keychains」というフォルダに移動したら中にあるランダムな文字列のフォルダを削除して再起動してみよう。

なお、管理人は実際に上記フォルダを削除したが、Apple IDへの再ログイン、Macの管理者パスワードの再入力、Touch IDの再設定を求められた以外は大きな問題は起きなかったものの、キーチェーンのデータベースの削除は前述したようにリスクがある点に注意してほしい。

accountsdのCPU使用率やメモリ使用量が高くても正常な場合もある

accountsdのCPU使用率やメモリ使用量が高かったとしても例えばiCloud Driveに大量のファイルを送信していたり、メールアプリで大量のメールを受信していたり、写真アプリで写真の同期やアップロードを行っている場合はaccountsdのCPU使用率やメモリ使用量は高くて当たり前なのでそういった場合はすぐにリセットせず様子を見よう。