Mashoreen asked the Answer Line forum why taskhost.exe–usually a small background application–was consuming 50-percent of his CPU.
Like the title character from Woody Allen’s Zelig–who changes his political beliefs, ethnicity, and even his race to match those of the people around him–Taskhost.exe can become pretty much what any dynamic link library (.dll) file wants it to be. Libraries can only run through an .exe program file, and taskhost provides that service. This is why you’ll often see multiple instances of taskhost running at the same time.
But this also means that if Taskhost appears to be hogging resources, some other file is really to blame. The hard part is tracking down and identifying just what .dll is the culprit.
I was unable to artificially reproduce this condition while working on this article. The screen captures below, therefore, show only a well-behaved taskhost.exe.
To see what taskhost (and other processes) are doing, right-click the taskbar and select Task Manager or Start Task Manager. Click the Processes tab. Click the Image Name column header to alphabetize the processes so you can easily find all of your currently-running taskhost.exe processes.
If malware doesn’t turn up, download and run Windows Sysinternals Process Explorer (you don’t have to install it). Once loaded, you can find and point to the hoggish instance of taskhost.exe. To see what .dlls are using it, select View, then Show Lower Pane. Press CTRL-d to make sure you’re viewing .dlls and not handles.
Hopefully, your bloated taskhost process won’t be using as many .dlls as my well-behaved one.