結局のところ、これはインターネット接続共有(ICS)に関連していました。
以下では、同様の問題を抱えている他の人々の助けになることを願って、この結論に至った経緯について説明します。
最初のステップは、問題の原因となっているサービスを識別することです。Windowsのタスクマネージャーも最近これを行う方法を学びましたが、サービスの構成を編集することもできるProcess Hackerを使用しました。
問題のsvchost.exe
インスタンスをダブルクリックして[ サービス ]タブを選択すると、そのプロセス内で実行されているサービスが表示されます。
svchost.exe
は多くのWindowsサービスを同時にホストできるため、問題の原因となっているサービスを特定することが困難です。一方で、十分なRAMが利用可能であるときに、Windows 10の最近のバージョンは、一般的なサービスを隔離、一部のサービスはまだプロセスを共有します。
これはそのような場合であり、どのサービスが問題を引き起こしているかを特定する最も簡単な方法は、それらを分離することです。
プロセスハッカーはこれを行うことができます。メインウィンドウの[ サービス ]タブで、サービスがプロセスを共有できるかどうかを構成できます。
3つの疑わしいサービスのうち少なくとも2つを独自のプロセスとして構成し、将来的に分離されるようにする必要があります。
どうやら、Windows Defenderは、ユーザーがそのサービスの構成を操作することを好まないため、この設定を正常に変更するには、
- Administratorsグループにそのサービスへのフルアクセスを付与します。
- サービスを無効にし、
- 再起動してサービスを停止します(個別に停止することはできません)。
- サービスタイプを[ Own Process]に変更し、サービスを再度有効にします(自動開始に設定します)。
- 最後にもう一度リブートして、これらの変更を適用します。
その後、違反svchost.exe
は単一のサービスのみをホストするため、容疑者がいます:
ファイアウォールサービスの内部を分析するために、Windows ADKの一部であるWindows Performance RecorderおよびWindows Performance Analyzerツールを使用します。
データを記録することから始めます。容疑者svchost.exe
がバックグラウンドで動いている間に、このファイルをダウンロードし、プロファイルとして追加し、次のようにWindows Performance Recorderを設定して、録音を開始します。
記録を30秒ほど実行してから、記録を保存します。保存後、[ WPAで開く ]をクリックして、すぐに分析のために開きます。
これは、物事がトリッキーになるところです。私の場合、システムアクティビティ → 一般的なイベントの下の正しい場所を見るには、@ magicandre1981からのヒントが必要でした。そこでは、RPCイベントの数が疑わしいほど高く見えました。
ドリルダウンすると、Windows Defender Firewall svchost.exe
がサーバー側win:Start
とwin:Stop
イベントで多く表示されていました。
次のステップは、これらのRPC呼び出しを送信したユーザーを見つけることでした。クライアント側を見ると、別のsvchost.exe
インスタンスが疑わしく見えていました。
実際、Process Hackerは、そのプロセス内で実行されているサービスを検出できませんでした。これも、一貫してCPU負荷を引き起こしていました。
この場合、Windowsのタスクマネージャはサービスの識別に成功しました。
実際、サービスは開始状態のままになっています。必要ないので無効にし、次回の再起動後にCPU負荷が通常に戻った。
コメントで助けてくれた@HelpingHandと@ magicandre1981に感謝します。
後でTenForumsの投稿で発見されたように、Windows Defender Firewallをリセットすると、この問題が修正されます。
Sc config BFE type= own
次にSc config MpsSvc type= own