SVCHOST.EXEは、 (SVCHOST.EXE)Windowsで常に実行され、完全に不可欠な不思議なプロセスの1つですが、それが何をしているのかを正確に知ることはできません。では、SVCHOST.EXEとは何ですか?各SVCHOST.EXEプロセス(SVCHOST.EXE process)内で実行されている実際のサービスとプログラムを特定することは、特にプロセスがCPUの99%または100%を消費する場合は、知っておく価値のあるタスクです。
したがって、ソリューションに飛び込む前に、このプロセスが実際に何を行うのか、および発生する可能性のある問題のいくつかを修正する方法について理解を深めましょう。まず、svchostは「ServiceHost」の略で、名前が示すとおり、(name suggest)サービス(Service Host)を「ホスト」するのに役立ちます。Windowsのサービスは、特定のジョブを実行し、ログインしていない場合でも、コンピューターの電源が入っているときは常にバックグラウンドで実行されるオペレーティングシステム(operating system)のプログラムです。
使い慣れているほとんどのプログラムは、.EXEなどのスタンドアロンの実行可能ファイルとして実行されます。ただし、ほとんどのサービスはDLL(DLLs)の形式で実装されており、それ自体では実行できません。したがって(Hence)、svchostはそれらのDLL(DLLs)をロードし、それ自体を実行します。そのため、Windowsタスクマネージャー(Windows Task Manager)を開くと、多数のsvchost.exeプロセスが実行されているのがわかります。タスクマネージャーの詳細については、(Task Manger)タスクマネージャー(Task Manager)の理解に関する私の記事をご覧ください。
現在、私のコンピューターでは8つのsvchostプロセスが実行されており、すべてがさまざまな量のメモリを消費し、さまざまなユーザー名で実行されていることに気付くでしょう。では、そのうちの1つが100%という非常に高いCPU使用率(CPU usage)で実行されているとしましょう。実際に実行されているアプリケーションを特定するには、どうすればよいでしょうか。
これを実行するには、実際には2つの方法があります。コマンドプロンプトとサービスツール(command prompt and Services tool)を使用してすべて手動で実行するか、サードパーティアプリケーション(party application)を使用して実行します。どちらかがうまくいかない場合(case one)に備えて、ここで両方について説明します。
最初にウイルスをチェックする
以下の詳細に入る前に、svchost.exeが実際にウイルスである場合があることに注意してください。これはシステムプロセス(system process)であるため、悪意のあるコーダーはsvchostという名前(name svchost)を使用して非表示のままにすることを好みます。ファイルがWindows/system32にある場合、ウイルスではない可能性が高いですが、念のためスキャンを実行することを常にお勧めします。
ウイルス対策プログラムをまだお持ちでない場合は、KasperskyまたはBitdefenderのいずれかを使用することをお勧めします。これらは、 (Bitdefender)AV-TestおよびAV-Comparativesの(AV-Comparatives)ランキングで常にトップにあるからです。これらは無料ではありませんが、ほとんどの無料のウイルス対策プログラムは、余分なジャンクソフトウェア(junk software)をバンドルしたり、ブラウザを「安全な」検索(” search)ソリューションにリダイレクトしたりします。これはまったく安全ではなく、追跡してより多くの広告を表示するだけです。
(Identify svchost.exe) コマンドプロンプト(Command Prompt)を介してsvchost.exeプロセス(Processes)を特定する(難しい方法)
1.まず、[スタート]、[ファイル名を指定して(Start)実行(Run)]の順にクリックし、 CMDと入力して、[OK ]をクリックします。(OK.)Windows 8.1では、先に進み、[スタート]ボタンを右クリックして、[ファイル名を指定して(Start button)実行(Run)]を選択します。
2.コマンドウィンドウ(command window and press) に次のように入力してEnterキーを押します(Enter)
tasklist /svc /fi “imagename eq svchost.exe
名前、PID、およびサービスの説明を含む次のような出力が得られるはずです。(service description)
これで、各svchostプロセス(svchost process)が、一意のID番号(ID number)と実行を担当するサービスとともに表示されます。ただし、これらの名前は依然として非常にわかりにくい名前であり、すべて省略形の名前です。プロセスに関するより有用な情報を取得するために、Windowsのサービス(Services)ブラウザを使用できます。
3. [マイコンピュータ(My Computer)]を右クリックして、 [管理(Manage)]を選択します。表示された画面で、[コンピューターの管理]を選択し、[(Computer Management)サービスとアプリケーション( Services and Applications)]を選択します。最後に、[サービス(Services)]を選択します。
4.次に、不可解なWindowsサービス名を[(Windows service)サービス(Services)]タブで読みやすい名前と一致させてみます。ID 1436で名前がWudfSvcのプロセスを実行する場合は、リストで検索する必要があるため、これは少し時間がかかる可能性があります。サービス名の1つをダブルクリックすると、それらの不可解な名前も表示されるので、それらを一致させることができます。私の場合、Wはプロセスが「Windows」で始まり、一致するものが見つかるまでそれらを開いたことを意味すると推測しました。
ご覧のとおり、Windows Driver Foundationサービス(Windows Driver Foundation service)は、実際には略してwudfsvcと呼ばれています。
(Identify svchost.exe) プロセスエクスプローラー(Process Explorer)を介してsvchost.exeプロセス(Processes)を識別します (簡単な方法)
難しすぎることがわかった場合は、はるかに簡単な方法があります。Microsoftの(Microsoft)ProcessExplorerツール(元々はSysInternals )をチェックしてください。このツールは完全に無料で、現在実行中の各プロセスの詳細情報を提供します。
ダウンロードしたら、インストールする必要がないので、 exeファイルを実行するだけです。(exe file)マウスをsvchostプロセス(svchost process)に合わせると、そのプロセスで実行されているサービスを示すポップアップが表示されます。Process Explorerの良いところは、短い名前ではなく、各プロセスのわかりやすい名前が付けられることです。
Windows8タスクマネージャー
最後に言及したいのは、Windows8 タスクマネージャー(task manager)が基本的にコマンドラインまたはProcessExplorer(command line or Process Explorer)の使用を完全に廃止しているという事実です。CTRL + SHIFT + ESCを押してタスクマネージャー(Task Manager)を開き、 [プロセス(Processes)]タブを下にスクロールして、 [ Windowsプロセス(Windows Processes)]と表示されている場所までスクロールします。
ここでは、すべてのsvchost.exeプロセスが(svchost.exe process)サービスホスト(Service Host:)として一覧表示され、その後に実行中のアカウントの種類(ローカルシステム(System)、ネットワークサービス(Network Service)など)が表示されます。また、横に番号が表示され、矢印をクリックしてアイテムを展開すると、その特定のプロセスで実行されているすべてのサービスも表示されます。
SVCHOSTの高いCPU使用率の修正
どのプロセスがすべてのCPUを消費しているのかを正確に把握したので、それを修正する方法について説明します。プロセスがWindowsUpdateやWindowsファイアウォール(Windows Update or Windows Firewall)などのWindowsプロセス(Windows process)ではないことがわかった場合は、プロセスを強制終了してプログラムをアンインストールします。
ただし、この問題が発生するほとんどの場合、Windowsプロセス(Windows process)と関係があります。この場合の最善の解決策は、MicrosoftのWebサイトからすべての最新の更新プログラムをインストールすることです。Windowsで正常に実行できない場合は、コンピュータをセーフモードで再起動して、再試行してください。
また、上記のように[サービス(Services)]タブが表示される場合は、先に進んでサービスを右クリックし、[無効(Disable)にする]を選択します。Windows Updateまたはファイアウォール(Firewall)の場合でも、心配しないでください。後で再度有効にすることができます。次に、コンピューターを再起動し、MicrosoftのWebサイトにアクセスして、手動で更新を取得します。サービスを再度有効にして、コンピューターを再起動すると、うまくいけばうまくいきます。
Windowsでサービスを無効にするには、[サービス]タブからサービス(Services)を右クリックし、 [プロパティ(Properties)]を選択します。
次に、ダイアログボックス(dialog box)の中央にある[スタートアップの種類](Startup type)コンボボックス(combo box)から[無効(Disabled)]を選択します。
私はこのプロセスを数回経験しましたが、それは私のために働きました。繰り返しになりますが、最初にサービスを無効にしてからコンピューターを再起動し、更新を手動でインストールしてからサービスを再度有効にしてから、コンピューターを再起動します。これが機能しない場合は、Windowsの修復インストールを実行する必要があり(Windows)ます(repair install)。Googleで修復インストールを(repair install)検索(Google search)し、手順に従います。Windows 8を実行している場合は、コンピューターを更新(refresh your computer)できます。ご不明な点がございましたら、コメントを投稿してください。楽しみ!
How to Fix Svchost.exe High CPU Usage
SVCHOST.EXE is one of those mysterious processes that constantly runs in Windows and is utterly essential, yet you never know exactly what it is doing. So what is SVCHOST.EXE? Identifying the actual services and programs that are running inside each SVCHOST.EXE process is a task well worth knowing, especially when the process eats up 99 or 100 percent of your CPU!
So before we dive into solutions, let’s get a deeper understanding of what this process actually does and how you can go about fixing some of the problems that might occur. Firstly, svchost stands for “Service Host” and it does exactly what as the name suggest: helps to “host” services. A service in Windows is simply a program in the operating system that does a particular job and runs in the background at all times when your computer is on, even if you are not logged in.
Most programs that you are familiar with run as a stand-alone executable, such .EXE. However, most services are implemented in the form of DLLs, which cannot run on their own. Hence, svchost loads those DLLs and runs them itself. That’s why when you open the Windows Task Manager, you’ll see a bunch of svchost.exe processes running. If you want more info on the Task Manger, check out my articles on understanding the Task Manager.
You’ll notice that there are currently eight svchost processes running on my computer, all using up various amounts of memory and running under different user names. So let’s say one of them is running at an excessively high CPU usage of 100 percent, how can we identify the actual application running?
There are actually two ways to go about this: doing it all manually using the command prompt and Services tool or by using a third party application. I’m going to mention both here in case one does not work for you.
Check for Viruses First
Before we get into the details below, it’s worth noting that there are cases where svchost.exe is actually a virus. Since it’s a system process, malicious coders like to use the name svchost to remain hidden. If the file is located in Windows/system32, it’s more than likely not a virus, however I always recommend performing a scan just to be sure.
If you don’t already have an anti-virus program, I recommend using either Kaspersky or Bitdefender since they consistently perform at the top in AV-Test and AV-Comparatives rankings. They are not free, but most free antivirus programs end up bundling extra junk software or redirecting your browser to their “secure” search solution, which isn’t secure at all and just tracks you and shows you more ads.
Identify svchost.exe Processes via Command Prompt (hard way)
1. First, go ahead and click on Start and then Run and type in CMD and click OK. In Windows 8.1, go ahead and right-click on the Start button and choose Run.
2. Type in the following into the command window and press Enter
tasklist /svc /fi “imagename eq svchost.exe
You should get an output as shown below with the name, PID, and service description
You’ll now see each svchost process along with it’s unique ID number and the services it is responsible for running. However, these names are still very cryptic and are all short-hand names. In order to get some more useful information about the process, we can use the Services browser in Windows.
3. Right-click on My Computer, choose Manage. On the resulting screen, choose Computer Management and then choose Services and Applications. Finally, choose Services.
4. Now try to match the cryptic Windows service name with the easily readable names in the Services tab. This is a little and can take some time because if you take the process with ID 1436 and it’s name WudfSvc, you have to try to find it in the list. If you double-click on one the service names, you’ll see their cryptic name also, so that’s how you can match them up. In my case, I guessed that the W means the process starts with “Windows” and opened them until I saw a match.
As you can see, the Windows Driver Foundation service is actually called wudfsvc for short!
Identify svchost.exe Processes via Process Explorer (easy way)
If you found to be too difficult, there is a much easier way! Check out the Process Explorer tool from Microsoft (originally from SysInternals). The tool is completely free and gives you detailed information for each process currently running.
Once you download it, just run the exe file as it does not have to be installed. Hover your mouse over the svchost process and you’ll get a popup showing you which services are running under that process. The nice thing about process explorer is that it gets you the friendly name for each process instead of the short name.
Windows 8 Task Manager
One last thing I wanted to mention was the fact that the Windows 8 task manager basically makes using the command line or Process Explorer totally obsolete. Open the Task Manager by pressing CTRL + SHIFT + ESC and scroll down on the Processes tab to where it says Windows Processes.
Here you will see every svchost.exe process listed as Service Host: followed by the type of account it is running under (Local System, Network Service, etc). It’ll also have a number next to it and if you expand the item out by clicking the arrow, you will also see every service running under that particular process.
Fixing SVCHOST High CPU Usage
Now that you have figured out exactly which process is eating up all of your CPU, we can address how to fix it. If you have found that the process is not a Windows process, such as Windows Update or Windows Firewall, etc, then simply kill the process and uninstall the program.
However, most of the time that this problem occurs, it has something to do with a Windows process. The best solution in this case is to install all of the latest updates from Microsoft’s web site. If you’re not able to do so normally in Windows, try restarting the computer in safe mode and try it again.
Also, if you can get to the Services tab like we did above, go ahead and right-click on the service and choose Disable. Even if it’s Windows Update or the Firewall, don’t worry, you can re-enable it later. Then restart the computer and go to Microsoft’s web site and manually get the updates. Re-enable the service and restart the computer again and hopefully things are working!
In order to disable a service in Windows, right-click on it from the Services tab and choose Properties.
Next choose Disabled from the Startup type combo box located in the middle of the dialog box:
I have gone through this process a couple of times and it has worked for me. So again, first disable the service, then restart computer, then install updates manually, then re-enable service, and then restart computer again. If this doesn’t work, you have to perform a repair install of Windows. Do a Google search for repair install and follow the steps. If you’re running Windows 8, you can refresh your computer. If you have any questions, post a comment. Enjoy!