Mac の syspolicyd の CPU 使用率が高い原因を調べる
ダウンロードしたアプリを開いた直後に syspolicyd の CPU 使用率が上がったら、まず直前に開いたものを確認します。Apple の Gatekeeper の問題に関する説明には、syspolicyd が公証確認などのシステムポリシー評価に関わる例があります。CPU 使用率だけでは、対象のアプリも不具合の有無も分かりません。
syspolicyd が確認するもの
Gatekeeper は App Store 以外で配布されたソフトウェアの開発元確認を支援します。Apple のコード署名ガイドでは、初回起動時にアプリと署名を評価し、内部のコードも検証すると説明しています。syspolicyd はこの安全確認に関わるもので、アプリの通常機能を実行しているわけではありません。
新しくダウンロードしたアプリの初回起動は、確認の起点になります。更新したアプリ、大きなアプリバンドル、複数のインストーラ、開発用ビルドの繰り返しが関係しそうなら、負荷が上がったときに何を開き、何を置き換えたかを記録します。これらは調査の手がかりであり、すべてのダウンロードやビルドで同じ評価が走る、または時間が延びるという意味ではありません。
ほかのプロセスや所有元の確認は Mac のプロセス解説を参照してください。ここでは同じアプリの評価が繰り返される場合に絞ります。
変更する前に操作を止めて観察する
アクティビティモニタの CPU 一覧で syspolicyd を見ながら、負荷が上がる時点と下がる時点を記録します。Apple のアクティビティモニタのガイドには、検索、列による並べ替え、プロセスの情報ウインドウの説明があります。
- 負荷が上がる直前のアプリ名、バージョン、操作を記録します。
- 進行中のインストールは完了させ、新しいアプリを続けて起動しません。
- 自分で繰り返しているビルドと起動や、順番待ちの起動処理を一時停止します。
- CPU 使用率を続けて数回確認してから、既知のアプリを一つだけ試します。
操作を止めた間に負荷が下がれば参考になりますが、それだけでは以前のどのアプリが原因かは特定できません。固定の待ち時間は設けず、一度だけ低い値になるより、操作前の水準に戻って落ち着くかを見ます。
初回の確認と再現する問題を分ける
比較では一度に一つの条件だけを変えます。
| 観察したこと | 分かること | 次の操作 |
|---|---|---|
| 新しい起動を止めると負荷が下がる | その時間帯に処理が落ち着いた | 通常の作業に戻り、再発を確認 |
| 同じアプリで毎回負荷が上がる | 再現する関連性があるが、原因は未確定 | バージョンを記録し、そのコピーを調査 |
| 操作と結び付かず高負荷が続く | 初回起動だけでは説明できない | 観察記録を残して Apple サポートへ |
ビルドの繰り返しが関係するなら、静かな状態との比較後に一度だけ再開して記録します。負荷が戻ったらそこで実験を止めます。ビルド、入手元、安全設定を同時に変えると、比較結果を判断できなくなります。
該当するアプリを調べる
Apple の説明では、署名の破損と公証の問題を分けています。同じコピーが繰り返し開けない場合は、書類を保管してから開発元の新しいインストーラを入手します。警告と CPU の上昇は別々の証拠として扱います。
開発者やサポート向けの調査では、Apple が説明する次の署名検証を利用できます。引用符を残し、例のパスを調査するアプリの正確なパスに置き換えます。
codesign -v -vvv --strict --deep "/Applications/Example.app"
この操作は署名を書き換えません。失敗したら開発者による解釈が必要で、成功しても公証の正常性や CPU 負荷の理由までは分かりません。結果、アプリと macOS のバージョン、再現の時点を開発元に伝えます。負荷が落ち着くかの測定中に検証を繰り返さないでください。
Gatekeeper を有効のままにする
評価を無効にすると安全確認の範囲が変わるだけで、対象アプリは修復されません。Apple の署名に関する案内は、開発元の確認と公証の役割を説明しています。CPU 対策として隔離属性を削除したり、システムポリシーのデータベースを変更したりしないでください。
ほかの場面でも遅い場合は Mac が遅い理由で CPU 負荷とほかの要因を分けてから、アプリやデータの削除を判断します。
Mole の役割
Mole Mac のステータスには、プロセスの CPU とメモリ使用量が表示され、% CPU 列で並べ替えられます。Mole は Gatekeeper のポリシーを変更しません。一覧は推移を見るために使い、syspolicyd を終了する理由にはしないでください。
よくある質問
高負荷の syspolicyd はマルウェアですか?
名前だけでは正規のプロセスともマルウェアとも断定できません。プロセスの実体と負荷直前の操作を確認します。
CPU 負荷を下げるために Gatekeeper を無効にしてもよいですか?
無効にせず、きっかけとなるアプリや再現する作業を調べます。特定できなければ、ポリシーを変えずに記録を Apple サポートへ伝えます。
同じアプリで繰り返すのはなぜですか?
そのコピーや更新、ビルド手順を調べる理由になりますが、負荷の再発だけで署名破損、公証失敗、macOS の不具合とは判断できません。