
configd: Mac OS X の configd プロセスによる CPU 使用率の高騰問題の解決
configd は Mac OS X の背後で実行されるシステム構成デーモンで、ほとんどのユーザーは、Mac のバックグラウンドでコア OS X プロセスが実行されていることに気付いたり、目にしたりすることはありません。そうは言っても、configd は時々誤動作して異常な CPU スパイクやファンの動作を引き起こし、Mac が風洞のような音を立てることがあります。 configd の異常な動作は、アクティビティモニタを起動し、「% CPU」オプションで並べ替えて、上部に表示されている「configd」ルートユーザープロセスが 20% ~ 95% の CPU を占有していることを確認すれば簡単に診断できます。その動作が 1 分程度続く場合は通常大したことではなく、一時的なスパイクは正常なのでそのまま実行させて無視しますが、configd が不可解に誤動作し、明らかな理由もなく CPU 使用率が 50% 以上のまま何時間も続くことがあります。ここではその問題を解決します。
ターミナルから強制再起動して configd の高 CPU 使用率を解決する
強力な「killall」コマンドを使って、configd を強制的に再起動します。configd はシステムプロセスなので、強制終了するとすぐに再起動します。configd のプロセッサ使用率が異常に高い場合は、このトリックで問題を解決できます。
ターミナルを起動し (通常どおり /Applications/Utilities/ 内にあります)、次のコマンドを入力します。
sudo killall configd
スーパーユーザーとしてコマンドを実行するには、管理者パスワードを入力する必要があります。そのため、sudo プレフィックスが必須です。sudo なしでコマンドを実行すると、プロセスは root(スーパーユーザー)によって所有されるため、効果がありません。
アクティビティモニターを開いたままCPUでソートしておくと、「configd」が消え、再起動するとリストの先頭に表示されなくなり、CPUを過度に消費しなくなります。このプロセスを検索すると、CPU消費量が0%から1%の間になっているはずです。
killall コマンドを使用した後も configd に問題がある場合は、この記事の下部に進んで、configd の問題のトラブルシューティングの詳細を確認してください。
ターミナルなしでconfigdを扱う
コマンドラインに慣れていない場合は、他に 2 つのオプションがあります。
- 実行中のすべてのMacアプリケーションを終了します。手動で終了するか、この自作アプリを使用してOS Xですべてを終了することができます。
- Macを再起動する
Macを再起動すると、configdプロセスを直接終了するのと同じ効果がありますが、明らかにワークフローへの影響は大きくなります。configdエラーがアプリの誤動作によって引き起こされている場合は、すべてのアプリケーションを終了すると改善する可能性があります。これについては後ほど詳しく説明します。
特定のconfigdの問題を診断し、configdについて学ぶ
Apple は configd を公式に次のように説明しています。
The configd daemon is responsible for many configuration aspects of the local system. configd maintains data reflecting the desired and current state of the system, provides notifications to applications when this data changes, and hosts a number of configuration agents in the form of loadable bundles.
この抜粋は configd のマニュアル ページから取得したもので、ターミナルに次のように入力するとアクセスできます。
man configd
コマンドライン経由で Mac 上で直接読むことも、ここにある開発者ライブラリ リンクを使用して Web 経由で読むこともできます。
そもそも configd がなぜおかしくなったのかを診断したい場合は、次の 2 つの場所で configd バンドルと plist ファイルを調べてみてください。何が問題で、なぜ問題なのかについてヒントが得られるかもしれません。
/System/Library/SystemConfiguration/
/Library/Preferences/SystemConfiguration/
別のオプションとして、次のコマンドを使用して、configd を詳細モードで再実行することもできます。
sudo /usr/libexec/configd -v
これにより、詳細な情報がOS Xシステムコンソールにエクスポートされます。この情報は、コンソールアプリまたはコマンドラインから読み取ることができます。この情報を前述のシステムディレクトリにある情報と比較することで、正確な原因の診断に非常に役立ちます。
一般的な経験から、一部のアプリやプロセスが他のアプリやプロセスよりも頻繁にconfigdの問題を引き起こすことが分かっています。これには、JavaやCrashPlanなどのJavaベースのサービス、未解決の印刷エラーが発生する特定のプリンター、ネットワーク接続が繰り返し試行されて失敗する不適切なネットワーク構成などが含まれます。そのため、すべてのアプリを終了することが問題の解決に効果的な場合があります。configdの誤動作の原因となっている失敗の繰り返しを止められる可能性があるためです。また、configdを強制終了しても問題が解決しない場合は、原因となっているplistファイルを削除すると、問題が完全に解決されることもあります。個々の経験や結果は異なる場合があります。