用語集/よく見かけるプロセス

IMDPersistenceAgent

別名: メッセージのデータベース

結論

IMDPersistenceAgentは、メッセージのデータベースを読み書きするmacOSのプロセスです。このデータベースは、iMessageとテキストメッセージの履歴を保存しているMac上のファイルです。メッセージ、通知、Spotlight、Siriはどれも、データベースを自分で開く代わりに、IMDPersistenceAgentにチャットを問い合わせます。

自分のユーザアカウントで動き、メッセージが必要になるたびにmacOSが起動します。メッセージアプリを開いたとき、新しいメッセージが届いたとき、チャットを含む検索をしたときです。管理している履歴は、ホームフォルダの~/Library/Messagesに保存されています。

ほとんどの時間はCPUをまったく使いません。メッセージが届くと一瞬だけ忙しくなり、履歴全体を一度に処理する必要があるときは、ずっと長く忙しくなります。

IMDPersistenceAgentのCPU使用率が高い理由

たいていの原因は、“iCloudにメッセージを保管”の同期が追いつこうとしていることです。新しいMacでサインインしたとき、この機能をオンにしたとき、長いあいだオフラインだったあとに戻ったときは、何年分ものチャットと添付ファイルがダウンロードされてデータベースに書き込まれ、その書き込みをIMDPersistenceAgentが行います。履歴が大きいと、何時間もかかることがあります。

macOSのアップデート後にSpotlightがチャットのインデックスを作成するときも、同じことが起こります。データベースが非常に大きくなったり破損したりして、どの要求にも必要以上に時間がかかる場合も同じです。

対処法

Macを設定したばかり、またはiCloudにサインインしたばかりなら、電源につないだまま終わるのを待ちます。同期が実行中かどうかを確認するには、メッセージ → 設定 → iMessageを開きます。進行中の同期はそこに表示され、“今すぐ同期”で止まってしまった同期を始められます。

1日以上高いままなら、メッセージを終了してMacを再起動します。それでも落ち着かなければ、同じ設定パネルで“iCloudにメッセージを保管”をオフにしてからオンにします。こうすると、Macが自分のコピーを新たにダウンロードし直します。メッセージがiCloudかバックアップに安全に保存されている場合を除き、~/Library/Messagesのファイルを手動で削除しないでください。

よくある質問

MacのIMDPersistenceAgentとは?

メッセージの履歴を管理するmacOSのプロセスです。チャットを表示したり検索したりするアプリやシステムの機能は、すべてこのプロセスを通じてチャットを受け取ります。

IMDPersistenceAgentのCPU使用率が高いのはなぜ?

たいていは、“iCloudにメッセージを保管”が大きな履歴を同期しているか、アップデート後にSpotlightがチャットのインデックスを作成しているためです。どちらも自然に終わります。メッセージのデータベースが非常に大きいか破損していると、忙しい状態が長引くことがあります。

IMDPersistenceAgentを終了しても大丈夫?

はい。強制終了しても何も失われず、次にメッセージが必要になったときにmacOSが起動し直します。同期が実行中だった場合は、止まったところから続きます。

関連項目

アクティビティモニタより優れたものをお探しなら、Mac向けアクティビティモニタの代替アプリのおすすめをご覧ください。用語集のすべての用語も見られます。