designetwork

ネットワークを軸としたIT技術メモ

Win10 svchost.exe (LocalServiceNoNetwork, netsvcs) のCPU負荷対策

f:id:daichi703n:20180107174701p:plain

Windows 10で数ヶ月前から常時CPU使用率が20%程度となり始めた。タスクマネージャでプロセスを確認したところ、svchost.exe (LocalServiceNoNetwork, netsvcs)であることを特定した。Microsoftのサポートコミュニティ等の情報を元に対策をしたところ、CPU負荷がなくなり正常状態になったので、確認ポイント、修正方法を記載する。

※私の環境でしか確認できていないため、各種変更は自己責任でお願いします。

環境
HP Pavilion, Core i3 RAM 3GB, Windows 10 HOME (Windows 7からバージョンアップ)

原因プロセス
事象発生中のタスクマネージャーの状態を取得し忘れたが、CPU使用率が常時高かったプロセスは以下の二つ。(カラム右クリックでコマンドラインを表示している)

サービスホスト: ローカルサービス (ネットワークなし)
C:¥WINDOWS¥system32¥svchost.exe -k LocalServiceNoNetwork -p
異常時 CPU使用率 約15%

サービスホスト: ローカルシステム
C:¥WINDOWS¥system32¥svchost.exe -k netsvcs -p
異常時 CPU使用率 約5%

f:id:daichi703n:20180103193656p:plain

異常サービス調査

各プロセスのいずれかのサービスが異常となっていると推測し、サービス管理画面からサービスの一覧を確認した。サービス管理画面はタスクマネージャのプロセス右クリックから遷移できる。

一覧を確認したところ、Internet Connection Sharing (ICS)のサービスが開始中のままになっていることが分かった。

f:id:daichi703n:20180103193706p:plain

プロパティを確認したところ、SharedAccess, Internet Connection Sharing (ICS) サービスの実行ファイルパスが、C:¥WINDOWS¥system32¥svchost.exe -k netsvcs -p と、異常プロセスの一つであることが分かった。

f:id:daichi703n:20180103193703p:plain

サービスの状態は開始中のままで停止はできない。

Microsoft Windowsサポートコミュニティの情報

完全に一致するわけではないが、LocalServiceNoNetwork関連のコミュニティディスカッションがある。

answers.microsoft.com

こちらの解決策として提示されているのは、Windows Defender Firewallを既定値(デフォルト)に戻すこと。

Windows Firewall の設定をデフォルトに戻す

詳細な関連は不明だが、CPU負荷が高騰しているプロセスの中にWindows Defender Firewallのサービスも含まれているため、試行してみる。

設定 > Windows Defender > Windows Defender セキュリティ センターを開きます

f:id:daichi703n:20180103193709p:plain

ファイアウォールとネットワーク保護 > ファイアウォールを既定値に復元する

f:id:daichi703n:20180103193711p:plain

Firewall設定変更後の状態確認

再度SharedAccessサービスの状態を確認すると、以下の通り、正常に「停止」になっている。(設定変更後に再起動が必要だったかも)

f:id:daichi703n:20180103193713p:plain

これにより、CPU負荷が軽減され、平常時はCPU使用率0%〜数%となった。

まとめ - Win10 svchost.exe (LocalServiceNoNetwork, netsvcs) のCPU負荷対策

svchost.exe(LocalServiceNoNetwork, netsvcs) のCPU負荷はSharedAccess, Internet Connection Sharing (ICS) サービスが原因で、Windows Defender Firewallの設定値をデフォルトに戻すことでCPU負荷高騰を解消できた。