Yesterday I noticed my cpu usage at 30%, even though nothing was running. Turns out Vista explorer (the file manager/user interface) sometimes will eat up cpu. Excess cpu usage reduced performance for other tasks and reduces battery life on laptops. Causes are various. Explorer itself is a shell that loads many subprocesses and DLLs in and spawns threads. Searching the net turns up many posts, some useless, some useful. The basic protocol to solve the problem is:
- Limit or turn off indexing. This can be done from the start menu options, disk drive settings, or you can completely disable the windows search and indexing service. In my case this didn't help.
- Use process explorer to figure out which process is eating the cpu.
- Then use process explorer to see which thread in the process is using the cpu.
- Google the process or DLL name to see what's known about it. process library is one useful site to find out about processes and dlls.
- View the process in process monitor (a different program) to see what resources it is accessing.
Both Process Explorer and Monitor are made by microsoft as part of their windows sysinternals tools. Once you know which thread is eating the cpu and what it's accessing it will give you an idea what kicked it off and then maybe what to do about the problem. In reality, you might still not be able to figure things out. In my case, shlwapi.dll was causing problems. Shlw stands for Shell Lightweight Utility Library. Unfortunately, it's not so lightweight. Many people find it using up to 100% cpu. In my case it was eating up only 30%, making endless registry queries though I could discern no obvious pattern. Killing the thread resolved the 30% usage but left me without a sidebar until I rebooted. The problem has not yet recurred.