Windows10のPCでタスクマネージャーを調べると、「Shell Infrastructure Host(sihost.exe)」というプロセスのCPU使用率やメモリ使用率が高いケースがあります。
通常Shell Infrastructure HostのCPU使用率は数%程度であり、パソコンの動作に影響を及ぼすほどリソースを消費することはありません。異常な程重くなるようであれば、システムに何らかの問題が起きていることも考えられます。
本記事では、「Shell Infrastructure Host」プロセスの概要と、負担が高く動作が重い時の対処方法について詳しく解説します。
この記事の内容
Shell Infrastructure Host(sihost.exe)とは
Shell Infrastructure Hostは、Windowsシェルエクスペリエンスホストと連携してWindowsの様々なユーザーインターフェースを制御する標準プロセスです。具体的には、スタートメニュー、コンテキストメニュー、通知のポップアップ、特定の視覚効果、デスクトップのスライドショーなどのUI機能に関わっています。
そのため、Windowsで何らかの操作を行うと、このプロセスのCPU・メモリ使用率が一時的に上がる場合があります。
このプロセスは、Windowsに標準で備わっているプロセスで危険なプログラムではありません。ただし、一部のウイルスはシステムプロセスに擬態することがある点に注意してください。
Shell Infrastructure Hostは停止できる?
Shell Infrastructure Hostは、システムの動作に関わる重要なプロセスのため停止することはできません。
タスクマネージャーでプロセスを停止しようとしても、Windowsをシャットダウンするダイアログが表示されるため停止できません。
また、このプロセスのCPU・メモリ使用率が気になる場合でも、プロセスの起動を無効にすることはできません。
プロセスが重い時の対処法
Shell Infrastructure HostのCPU使用率、またはメモリ使用率が異常に高くなる場合は、システムになんらかの問題があることが考えられます。
原因としては、このプロセスを使用するサードパーティ製アプリに問題があることが多いです。Shell Infrastructure Hostの負担が高い場合は、以下の対処を試してみてください。
対処1: 問題を起こしているアプリを停止する
PCにインストールしたサードパーティのアプリによって、Shell Infrastructure Hostの負担が高くなるケースがあります。
そのため、PCをクリーンブートした状態で、Shell Infrastructure Hostの負担が改善するか確認してください。
PCをクリーンブートする手順については、以下のページを併せて参考にしてください。
クリーンブートの状態で負担が改善する場合は、最近インストールしたアプリなどの原因として疑われるアプリの動作を停止するか、アンインストールを行ってみてください、
アプリを使用していない状態でも重くなる場合は、バックグラウンドアプリを確認してください。特にサードパーティ製のセキュリティソフトを使用している場合は、セキュリティソフトを一時的に停止した状態で、Shell Infrastructure Hostの負担に変化があるか確認してください。
対処2: アプリのバックグラウンド実行を無効化する
アプリのバックグラウンド実行は、アプリのアップデート情報や通知を常時受け取れるようにするための設定です。
便利な機能ですが、バックグラウンドでアプリが実行し続けるため、Shell Infrastructure Hostの負担の上昇に繋がるケースがあります。
そのため、バックグラウンド実行が不要なアプリがある場合は無効に設定してみてください。無効にする手順は以下の通りです。
- 「Windowsマーク」を右クリックして「設定」を選択します。
- 設定ウィンドウが開いたら、「プライバシー」をクリックします。
- 左ペインで「バックグラウンドアプリ」をクリックします。
- 右ペインで、バックグラウンドでの実行を許可するアプリの一覧で、不要なアプリのスイッチをクリックして「オフ」に変更します。
以上の手順で、不要なアプリのバックグラウンド実行を無効化することができます。設定が変更できたら、Shell Infrastructure Hostの負担が改善したか確認してください。
対処3: システムメンテナンスのトラブルシューティングを実行する
システムメンテナンスのトラブルシューティングを実行することで、Shell Infrastructure Hostの負担の問題が解決できる可能性があります。
システムメンテナンスのトラブルシューティングを実行するには、以下の手順で操作してください。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 名前に「control」と入力して「OK」をクリックします。
- コントロールパネルが起動したら、右上の表示方法を「アイコン」に変更して「トラブルシューティング」をクリックします。
- 左ペインの「すべて表示」をクリックします。
- 一覧から「システムメンテナンス」をクリックして起動します。
- ウィザードが起動したら「次へ」をクリックして、「管理者としてトラブルシューティングを実行する」をクリックします。
- 案内にしたがってトラブルシューティングと修復を試みます。
- 全て終了したらウィザードを閉じて、PCを再起動します。
トラブルシューティングが完了しPCを再起動できたら、プロセスの負担が改善したか確認してください。
対処4: システムファイルを修復する
システムファイルが破損していることが原因で、Shell Infrastructure Hostの負担が異常に高くなるケースが考えられます。
そのため、システムファイルの修復を実行して、プロセスの負担が改善しないか確認してください。システムファイルの修復を実行するには、以下の手順で操作します。
- 「Windowsマーク」を右クリックして「Windows PowerShell(管理者)」を選択して起動します。
- PowerShellが起動したら、以下のコマンドを入力してEnterキーで実行します。
sfc /scannow
- プロセスが完了したら、続いて以下のコマンドを入力してEnterキーで実行します。
DISM /Online /Cleanup-Image /RestoreHealth
- プロセスが完了したらWindows PowerShellを閉じます。
システムファイルの修復が完了したらPCを再起動して、プロセスの負担が改善したか確認してください。
対処5: プロセスが本物か確認する方法
Shell Infrastructure HostのCPU使用率が異常に高い場合や、同名のプロセスが複数ある場合は、同名のウイルスであることも少なからず考えられます。
正規のプロセスがウイルスか疑わしい場合は、以下の手順で判断することができます。
- 「Windowsマーク」を右クリックし、「タスクマネージャー」を選択します。
- タスクマネージャーが起動したら、左下の「詳細」をクリックして詳細表示に切り替えます。
- 既に詳細表示になっている場合は、この手順をスキップしてください。
- 「プロセス」タブの一覧で「Shell Infrastructure Host」を右クリックし、「プロパティ」を選択します。
- プロパティウィンドウが表示されたら、以下の情報を確認します。
- 「場所」:
- 「C:\Windows\System32」であれば、本物のShell Infrastructure Hostと同じ場所なので問題ありません。
- 「サイズ」:
- 本来Shell Infrastructure Hostのサイズは50KB~150KB程度です(環境やWindowsのバージョンにより若干変化します)。
- 詳細タブの「著作権」:
- プロパティウィンドウ内の「詳細」タブを開き、「著作権」の項目を確認します。本物のShell Infrastructure Hostであれば「Microsoft Corporation. All rights reserved.」と表示されます。
- 「場所」:
実行ファイルの場所が異なっていたり、サイズが300KBを超える場合は、ウイルスの恐れがあるためウイルススキャンを実行して駆除してください。
ウイルススキャンによって駆除できた場合は、その後プロセスの負担が正常になったか確認してください。
プロセスの負担が改善しない場合
Shell Infrastructure Hostは、Windowsシェルエクスペリエンスホストと連携してUIを制御します。
そのため、全ての方法を試してもプロセスの負担が改善しない場合は、以下のWindowsシェルエクスペリエンスホストの対処も併せて参考にしてみてください。