筆者の家には、Windows 11にアップグレードできないWindows 10のノートPCが2台あります。サポート期限の「2025年10月」までWindows 10のままで使い続けるつもりです。しかし、比較的新しいAMDプロセッサ搭載の1台(2018年モデル)が、起動後にCPU使用率が100%の状態が続き、落ち着くまでしばらく使い物にならない状態になってしまいました。この原因は何だったのでしょうか。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
「CPU使用率100%」の犯人ではないかと疑っているのは、最近動作が不調になることがある「Dell SupportAssist」関連のサービスです(画面1、画面2)。Dell SupportAssistは、ファームウェアやドライバ、ユーティリティーのアップデートの他、ディスクのクリーニング、パフォーマンス調整、ネットワーク最適化などを行う、ほとんどのDell Technologies(以下、Dell)製PCに標準インストールされているユーティリティーです。つい最近はユーティリティー自身のアップデートに失敗したり、開始しようとしても時間がかかり、結局再起動を求められたりすることが多くなりました。
アップデートの失敗を繰り返すため、一度アンインストールして、Dellのサイトからインストーラーをダウンロードしてインストールし直すことで、正常に動作するように回復できました。再インストールの際、今度はインストールの失敗が繰り返されるという問題にも遭遇しましたが、今回の話とは別の問題なので、同様の現象でお悩みの方は以下の筆者の個人ブログを参照してください。
再インストールにより、Dell SupportAssistをアップデートできない、開始できないという問題は解決しましたが、「Windows 10」の起動直後にCPU使用率100%が続く状況に変わりはありません。
試しに、「サービス」管理ツール(Services.msc)を使用して、Dell SupportAssist関連のサービス(Dell SupportAssist、Dell TechHub、Dell Data Vault Collector/Processor/Service APIの5サービス)のスタートアップを「無効」にしてPCを再起動してみました。すると、起動直後はCPU使用率100%になるものの、すぐに落ち着き、短時間で快適にPCを使える状態になりました。やはり、Dell SupportAssistが犯人だったようです(画面3)。
Dell SupportAssistが問題なく動作している別のノートPCもあるので、なぜこのPCだけCPU使用率が100%に張り付くのかまでは分かりません。Dell SupportAssistはファームウェアやドライバのアップデートには便利なので、アンインストールせず残しておきたいユーティリティーです(「Dell Update」という別のユーティリティーでも可能です)。
しかし、常時動いている必要はないので、普段はサービスのスタートアップを「無効」(既定は「自動(遅延開始)」)にしておいて、必要時にスタートアップを「手動」に変更して、サービスを開始してから、Dell SupportAssistを使い始めるという運用に切り替えることにしました。
その一連の操作を簡略化するために、以下の「startsupportassistsvc.cmd」のようなバッチファイルを適当な場所に置き、そのショートカットを作成します。
@echo off sc config "SupportAssistAgent" start= demand sc config "DellTechHub" start= demand sc config "DDVDataCollector" start= demand sc config "DDVRulesProcessor" start= demand sc config "DDVCollectorSvcApi" start= demand sc start "DDVCollectorSvcApi" sc start "DDVDataCollector" sc start "DDVRulesProcessor" sc start "DellTechHub" sc start "SupportAssistAgent" sc config "SupportAssistAgent" start= disabled sc config "DellTechHub" start= disabled sc config "DDVDataCollector" start= disabled sc config "DDVRulesProcessor start= disabled sc config "DDVCollectorSvcApi" start= disabled
ショートカットを作成したら、全てのユーザーの「スタートメニュー」(「C:\ProgramData\Microsoft\Windows\Start Menu\Programs」または「shell:common startup」)にそのショートカットを配置し、シュートカットのプロパティの「互換性」タブで、管理者権限で実行されるように設定します。
後は、Dell SupportAssistを実行したいときに、スタートメニューからこのショートカットをクリックして実行し、しばらくしてからDell SupportAssistを開始すれば、以前と同じように使用できます(画面4)。
Dell SupportAssistの新しい運用方法で問題は解決したかに見えましたが、先日、Dell SupportAssistは動いていないはずなのに、再びCPU使用率100%の状態が続く現象に遭遇しました。
この時にCPUを最も使用していたプロセスは、「Microsoft Compatibility Telemetry」というプロセスでした。このプロセスは、「Windowsカスタマーエクスペリエンス向上プログラム(CEIP)」の一部であり、診断情報をMicrosoftに送信するものです。「タスクスケジューラ」管理ツール(Taskschd.msc)で、以下のタスクを「停止」することでCPU使用率の問題は解消します。
このタスクを「無効」にすることで定期的なデータ送信を止めることはできますが、「無効」にするにはPCのパフォーマンスへの影響が大きい場合に限るべきでしょう。それは各自の判断にお任せします。
岩手県花巻市在住。Microsoft MVP 2008 to 2023(Cloud and Datacenter Management)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.