Macでsoftwareupdatedの高いCPU使用率を修正する方法

Macでsoftwareupdatedの高いCPU使用率を修正する方法

David Balaban
目次

ほとんどのMacユーザーは、システムを円滑に稼働させる背後にある数多くのバックグラウンドサービスについて考えることはありません。そして、それは本来あるべき姿です。デーモン(daemons)やエージェント(agents)は、あなたが作業をこなしている間、静かにその役割を果たしています。しかし、ファンが回り始め、すべてが遅くなり、さらにアクティビティモニタ(Activity Monitor)のCPU列の一番上に突然 softwareupdated が表示され、マルチコアのマシンでもほぼ100%あるいはそれ以上のCPUを占有しているのを見た瞬間、その錯覚は打ち砕かれます。

アクティビティモニタに表示されているsoftwareupdatedの高いCPU使用率

さらに厄介なことに、これは単独で発生するわけではありません。ここ数年で、私は chronodcontactsdsyspolicyd、または cloudd といった他のシステムプロセスが同様の振る舞いをし、Macの動作を著しく遅くするという多くの不満を目の当たりにしてきました。ほとんどすべての場合において、これらは「ウイルス」などではなく、ある種のループにはまってしまった正規のコンポーネントです。softwareupdatedにも同じ理屈が当てはまります。macOSを最新の状態に保つために設計されていますが、動作に異常が生じると、その副作用は過酷なものになります。

このガイドでは、特にsoftwareupdatedに焦点を当てます。それが何であるか、なぜ時折CPUやメモリを独占してしまうのか、そしてそれを落ち着かせるためにあなたが講じることのできる実践的な手順についてです。Macが離陸しそうな音を立てているためにこのページを開いたとしても、まだ慌てないでください。多くのシナリオにおいて、修正とは問題のあるアップデートを終了させたりクリアしたり、いくつかの環境設定をリセットしたり、プロセスを合理的で正常な状態に戻すことに尽きます。


Macのsoftwareupdatedとは何ですか?

それを飼い慣らす前に、softwareupdatedが実際に何を行っているかを理解しておくことは非常に有用です。

技術的なレベルでは、softwareupdatedは、macOSのソフトウェアアップデートや一部のApp Storeベースのコンテンツをバックグラウンドで処理する役割を担うAppleのシステムデーモンです。これは、あなたが システム設定 → 一般 → ソフトウェアアップデートSystem Settings → General → Software Update)で目にするソフトウェアアップデートフレームワークと結びついており、macOSのほとんどのデーモンを管理するマスタープロセスであるlaunchdによってオーケストレーションされています。Macが新しいシステムビルドの確認、ダウンロード、またはインストールの準備を行っているとき、softwareupdatedはバックグラウンドで深く関与しています。

アクティブなアップデートプロセスとして、システム設定のソフトウェアアップデートに記載されているsoftwareupdated

留意すべきは、softwareupdatedはAppleによって署名されたオペレーティングシステムの一部であり、マルウェアなどの疑わしいサードパーティの追加機能ではないという事実です。その意味で、これはcloudd(iCloud/CloudKit同期)、contactsd(連絡先フレームワーク)、chronod(ウィジェット)と同類であり、それらは皆、正当なmacOSのパズルのピースでありながら、時折自らのリソース予算を超過してしまうのです。

通常の状態において、softwareupdatedは短い間隔で機能します。

  • アップデートを確認するために起動します。おそらく1日1回、または再起動後です。
  • macOSのアップデート、増分パッチ、またはアプリのアップデートをダウンロードまたはダウンロードの再開を行うかもしれません。
  • タスクが完了するか、またはきれいに失敗すると、再び鳴りを潜めます

問題なのは、こうした一連の動作が終わらない場合、あるいは同じようにCPUを激しく消費するパターンを数分おきに繰り返す場合です。


softwareupdatedがCPUを占有し始める理由

システムのアップデート中にsoftwareupdatedが一時的に急増するのは全く正常なことです。プロセスがアクティビティモニタの最上部に居座り続けたり、長期間とどまったりする場合、あなたは実際の問題に対処していることになります。よくある引き金となるものは以下の通りです。

  • 行き詰まった状態(Limbo)のmacOSまたはアプリのアップデート: アップデートが半分ダウンロードされた状態で停止し、softwareupdatedが終わりのない「再試行」のループに陥っているのかもしれません。これは、不安定または低速な接続を介した大規模なインストーラー(macOSのアップグレード、Xcode、重いゲームなど)で特によく見られます。
  • 破損した、または古いアップデートキャッシュ: /Library/Updatesまたは関連するキャッシュの下に保存されている、ダウンロードしたインストーラーやインデックスファイルに矛盾が生じることがあります。これが発生すると、softwareupdatedはそれらに対して作業を継続し、何ら進展がないままCPUとI/Oを消費し続けます。
  • 不具合のあるソフトウェアアップデートの環境設定、またはカタログ: 機関や以前の所有者から引き継がれた古いMacは、カスタムアップデートサーバーや形式の誤った環境設定ファイルを引き継いでいることがあります。Macが無効な、または到達できないソフトウェアアップデートのカタログを指し示している場合、デーモンは試行を続け、空回りし続けます。
  • ネットワークフィルタ、VPN、またはセキュリティツールが邪魔をしている: 企業向けVPN、ウェブフィルタ、または積極的なファイアウォールは、Appleのアップデートサーバーを部分的にブロックする可能性があります。これは、初期の確認を成功させるには十分ですが、完全なダウンロードを行うには不十分です。softwareupdatedの観点からすると、試行し続ける以外に選択肢はありません。
  • 行き過ぎたサードパーティの「クリーナー」や最適化ツール: 一部のユーティリティは、キャッシュや.plistファイルを無差別に消去し、それを手柄のように宣言します。実際には、これによってソフトウェアアップデートが中途半端に壊れた状態になり、softwareupdatedは欠落した設定や形式の誤った設定をつなぎ合わせようと懸命になります。
  • 全体的なシステムへの負荷と、他のバックグラウンドタスク: Macがすでに重いSpotlightのインデックス作成、Time Machineのバックアップ、または大規模なファイルのコピーを実行している場合、softwareupdatedはキューに加わり、ボトルネックの一因となります。その結果、1つのプロセスが異常な動作をしているように見えますが、実際には複数のサービスが衝突しているのです。

広い視野で見れば、高いCPU使用率が症状として現れるのは通常、根本的な原因というよりもその副作用です。デーモンは自らの仕事を行っているにすぎません。ただ、それを適切に終了させてもらえないだけなのです。


Macでsoftwareupdatedの高いCPU使用を修正する方法

症状を切り離して追いかけるよりも、最も一般的な根本原因に対処する一連の的を絞った手順を踏むのが賢明です。以下の順序は、不必要な複雑さを避けながら実用性を維持しています。

ステップ 1. softwareupdatedが真の真犯人であることを確認し、進行中のアップデートがないか確認する

変更を加える前に、短期間の正当なアップデートタスクを見つめているわけではないことを検証してください。

  • アプリケーション → ユーティリティApplications → Utilities)からアクティビティモニタActivity Monitor)を開きます。
  • CPUタブをクリックし、% CPUで並べ替えます。
  • softwareupdatedが実際にトップ付近に位置しており、ほんの数秒ではなく、数分間そこにとどまっていることを確認してください。

アクティビティモニタのCPUタブでsoftwareupdatedがリストのトップに表示されている様子

  • 次に、Appleメニュー → システム設定 → 一般 → ソフトウェアアップデートに移動し、macOSがアップデートに対してダウンロード中(Downloading)、準備中(Preparing)、またはインストール中(Installing)というメッセージを表示しているかどうかを確認します。もしそう出ており、ステータスが進行しているように見える場合は、そのまま終了させてください。何時間も同じメッセージが表示されたままの場合は、次の手順に進みます。

システム設定のソフトウェアアップデートのペインに、ダウンロード中または停止中のアップデートステータスが表示されている様子

ステップ 2. 一時的なループを解消するためにMacを再起動する

単純な再起動は、アップデートチェーンにおける軽度の障害を取り除くための最も効果的な方法の1つです。

  • 作業を保存し、開いているアプリを閉じます。
  • Appleメニュー → 再起動Restart)をクリックします。
  • 再起動後、再びアクティビティモニタを開き、しばらくsoftwareupdatedを観察します。正常に動作し、トップに戻らなければ、問題は一時的なものであった可能性があります。高いCPU使用率にすぐに跳ね上がる場合は、トラブルシューティングを続行してください。

softwareupdatedのループを解消するためにMacを再起動するための、Appleメニューの再起動オプション

ステップ 3. softwareupdatedを強制終了して、行き詰まったセッションを中断させる

デーモンが明らかに停止している場合は、終了させることで、macOSが白紙状態から再起動できるようにすることができます。

  • アクティビティモニタsoftwareupdatedを選択し、ツールバーの**(X)**ボタンをクリックします。
  • 終了Quit)を選択し、それでもうまくいかない場合は強制終了Force Quit)を選択します。

softwareupdatedプロセスのための、アクティビティモニタの強制終了ダイアログ

  • または、ターミナルを開き、次のコマンドを実行します(1行で): $ sudo killall softwareupdated
  • 求められたら、管理者パスワードを入力してください。

sudo killall softwareupdated コマンドを実行しているターミナルウィンドウ

これによってより深い設定上の問題が解決するわけではありませんが、一時的に応答性を回復することができ、時にはループ自体が自然に直ることもあります。

ステップ 4. /Library/Updatesにある、ソフトウェアアップデートのキャッシュをクリアする

古くなった、または破損したアップデートファイルは、softwareupdatedが常に再試行を繰り返し、CPUのサイクルを燃やし続ける原因として頻繁にみられます。キャッシュを片付けることで、macOSは必要なコンポーネントを再ダウンロードせざるを得なくなります。

  • Finderで、メニューバーの移動 → フォルダへ移動...Go → Go to Folder…)をクリックします。
  • 次のように入力します:/Library/Updates と入力し、Returnを押します。
  • Updatesフォルダ内のすべてを選択します(ただし、フォルダ自体は選択しないでください)。
  • 選択した項目をゴミ箱(Trash)に移動します(求められた場合は認証を行います)。
  • Macを再起動してください。
  • 再起動後、システム設定 → 一般 → ソフトウェアアップデートに再びアクセスし、macOSが新たなスキャンとダウンロードを実行できるようにします。

削除するキャッシュされたアップデートファイルを含む/Library/Updatesフォルダを示すFinderウィンドウ

ステップ 5. ソフトウェアアップデートの環境設定ファイル(.plist)をリセットする

破損した、または古い.plistファイルは、アップデートのメカニズムを混乱させ、softwareupdatedを終わりのない再試行状態に留めてしまう可能性があります。これらをリセットすることで、システムはクリーンな環境設定を再作成できるようになります。

  • Finderで、移動 → フォルダへ移動... をクリックします。
  • 次のように入力します:~/Library/Preferences(チルダ記号~を含めることに注​​意してください)、Returnを押します。
  • 以下のファイルを探します(存在するかもしれないし、存在しないかもしれません)。
    • com.apple.SoftwareUpdate.plist
    • com.apple.preferences.softwareupdate.plist
  • 見つけたファイルをバックアップとしてデスクトップにドラッグしてください。
  • Macを再起動してください。
  • システム設定 → 一般 → ソフトウェアアップデートを開き、macOSが関連する環境設定を再構築し、新しいスキャンを実行できるようにします。

削除するcom.apple.SoftwareUpdate.plistファイルが表示されているFinderのPreferencesフォルダ

ステップ 6. ターミナルを使用して、保留中のアップデートをごまかしなく完了させる

時折、グラフィカルなソフトウェアアップデートのインターフェースが行き詰まってしまうことがありますが、根本となるツール群は依然としてその役目を完遂できる状態にあります。ターミナルからアップデートを実行することで、作業を完了まで押し切ることができる場合があります。

  • アプリケーション → ユーティリティからターミナルを開きます。
  • 保留中のアップデートを一覧表示するには、以下を実行します。 $ softwareupdate -l

利用可能な保留中のmacOSアップデートをリストしている、softwareupdate -l のターミナル出力

  • 利用可能なすべてのアップデートをインストールするには、以下を実行します。 $ sudo softwareupdate -i -a

すべての利用可能なアップデートをインストールするために sudo softwareupdate -i -a コマンドを実行しているターミナル

  • プロセスが完了するまで待ちます。大きなアップデートはしばらく時間がかかり、長時間の休止があるかもしれません。中断しないよう注意してください。
  • 完了したらMacを再起動し、アクティビティモニタでsoftwareupdatedが落ち着いたかどうかを確認します。

ステップ 7. アップデートカタログをリセットし、古い管理プロファイルを確認する

あなたのMacが以前、企業や学校によって管理されていた場合、未だにカスタムアップデートサーバーを指し示していたり、ソフトウェアアップデートに影響を与えるプロファイルによって管理されている可能性があります。カタログをリセットし、プロファイルを見直すことで、これらの残骸を取り除くことができます。

  • ターミナルを開き、次のように実行します。 $ sudo softwareupdate --clear-catalog
  • ご自身のMacを再起動してください。

アップデートサーバーのカタログをリセットするために sudo softwareupdate --clear-catalog を実行しているターミナル

  • システム設定 → プライバシーとセキュリティ → プロファイルSystem Settings → Privacy & Security → Profiles)(または、古いシステム環境設定の場合はプロファイル)に向かい、リストされているプロファイルを確認します。
  • ソフトウェアアップデート、モバイルデバイス管理(MDM)、または以前の組織を参照しているプロファイルがあり、現在あなた一人がMacの所有者である場合は、それを削除することを検討することができます。もしそれが仕事用のMacである場合は、プロファイルを自身の手で削除するのではなく、あなたのIT部門に相談してください。

ソフトウェアアップデートに影響を与える可能性のあるMDMプロファイルが表示されている、システム設定のプライバシーとセキュリティパネル

ステップ 8. セーフモードでテストし、最後の手段としてmacOSの再インストールを検討する

他に何も効かない場合、サードパーティのコンポーネントが問題の一因となっているかどうかをセーフモードで確認できます。さらに、既存のものの上に上書きで再インストールを行うと、データを消去することなくシステムのアップデート基盤をリフレッシュできます。

  • MacをセーフモードSafe Mode)で起動します(Intel Macの場合はShiftキーを押しながら起動、Appleシリコンの場合は起動オプションが表示されるまで電源ボタンを長押しした後、ディスクを選択してShiftキーを押しながら選択します)。
  • ログインしてアクティビティモニタを観察します。セーフモードではsoftwareupdatedが正常に動作するのに、通常の起動ではそうでない場合は、サードパーティの拡張機能、クリーニングアプリ、またはシステムの調整が関与している可能性があります。
  • セーフモードでもまだ誤作動を起こす場合は、重要なデータをバックアップし、復旧Recovery)からmacOSの再インストールを検討してください。これにより、ファイルやアプリは保持されたまま、アップデートメカニズムを含むシステムのベースコンポーネントが置き換えられます。

高いsoftwareupdatedのCPU使用率が正常な場合とは

スパイクを見ることすべてが、何かが壊れている兆候だというわけではありません。softwareupdatedがしばらく懸命に動作し、その後後退することが予期される状況はいくつか存在します。典型的な例を以下に挙げます。

  • macOSのメジャーアップグレードまたはアップデートの直後: システムはしばらくの間、インストール後のスクリプトを適用したり、追加のコンポーネントを取得したり、ファームウェア関連のタスクを処理したりしているかもしれません。
  • 大容量アプリやXcodeのアップデート中: プロ向けのツールや大容量ゲームは、巨大でかさばる可能性があります。これらをダウンロード、解凍、およびステージングすることは当然ながら、CPU、ディスク、そしてネットワークに負荷をかけます。
  • 見逃した複数のアップデートに追いつこうとしている場合: いくつかのマイナーリリースをスキップして、それらを一度にすべてインストールすることにした場合、アップデートサブシステムは通常よりも長期間ビジー状態になります。

監視すべき重要なポイントは、その期間(長さ)と頻度です。アップデートの完了と同時に治まる短時間のスパイクはまったく問題ありません。しかし、Macを何時間も手も足も出ない状態にさせる持続的な継続、または目立った進展がないまま繰り返される状態は、あなたが解決に向けてより深く掘り下げる必要があるという明確なサインです。


今後のsoftwareupdatedの問題を防ぐために

現在のインシデントに対処できたなら、いくつかの習慣や基本的な健全への方針によって、ばかみたいに高いsoftwareupdatedのCPU使用率を再び目にする可能性を減らすことができます。

以下の点をご考慮ください:

  • macOSのアップデートは定期的にインストールすること: 常に最先端の技術をテストする最前線にいる必要はありませんが、何年分ものアップデートを溜め込んでしまうと、アップデートプロセスはより高負荷でエラーが発生しやすくなり、加えてあなたのシステム全体のセキュリティ体制をも弱体化させてしまいます。
  • いわゆるシステムの「クリーナー」や「最適化ツール」に警戒すること: キャッシュファイルや環境設定ファイルを無作為に削除するユーティリティは、しばしばそれらが解決する以上の問題を引き起こすことがあります。もしこれらのツールを当てにしているのであれば、信頼できるものを選び、それが具体的に何を改変しているのかを十分に理解しておいてください。
  • 十分なディスクの空き容量を保つこと: macOSのアップデートには、数十ギガバイトもの一時的な空きスペースが必要となることがよくあります。ストレージの限界に近接した状態でシステムを稼働させると、アップデートのダウンロードやインストールは非常に脆くなり、失敗しやすくなります。
  • 非公式なパッチツールやシステム深部の変更には気を付けること: サポートされていないmacOSバージョンを実行したり、システムの挙動を大きく変えたりできるユーティリティは強力で有用な反面、彼らはアップデートを難化させてしまいます。もしそれらを使用しているのであれば、アップデートに関する奇妙な問題に遭遇した場合には、それらのドキュメントやサポートチャネルを頼りにしてください。
  • 関係なさそうなパフォーマンスなどの不具合にも注意を払うこと: もしsoftwareupdatedの急増が、強引なポップアップ広告、不自然なブラウザのリダイレクト、または見覚えのないログイン項目の存在等といった他の異常な挙動と同時に起こっているのなら、あなたは単なるアップデートの不具合以外に、アドウェアやPUP(潜在的に迷惑なプログラム)に対処している可能性があります。このシナリオでは、単にソフトウェアアップデートの設定をいじるだけではなく、より広範なクリーニングが求められます。

アクティビティモニタでsoftwareupdatedを短時間見かけるのは、極めて普通のことであることをゆめゆめ忘れないでください。その存在を完全に隠してやろうとするのではなく、それが静かに役割を果たし、そして目立たないように身を引くよう確認することが真の目標なのです。

FAQ

softwareupdated はウイルスですか、それともマルウェアですか?

softwareupdated が 100% のCPUを使用している場合、強制終了しても安全ですか?

softwareupdated を終了しても、なぜ何度も表示されるのですか?

高い CPU 使用率を避けるために、softwareupdated を永久に無効にすることはできますか?

この記事は役に立ちましたか?評価してください。