Super User Question of the Week [21 Febuary 2011 – 28 February 2011]
If you’ve got an HP laptop and noticed that it overheats often, don’t just write it off as unfixable. You might be suffering from the CPU Assassin!
A little bit of background. Sathya had a problem with his laptop. As a super user, he uses it all the time and keeps it on 24/7. However, it keeps over heating:
At the end of the day it’s really annoying to have my thighs burnt because over overheating.
So he posed this excellent question:
The overheating seems to be a result of WMI Provider Host ( WmiPrvSE.exe ) spiking the CPU utilization to 25% every few minutes. Any ideas why this is happening ?
Nhinkle to the rescue! Here is his full answer, as it was just too good to leave anything out:
As Sathya mentioned in his question, I have had previous experience with this problem on my similar HP laptop, and I have now confirmed using the scientific method that the CPU spikes on HP laptops is caused by the HP Wireless Assistant. Or, HP CPU Assassin, as I may start calling it.
Overview of the Experiment
- Question: What is causing the CPU on HP laptop’s to spike at frequent intervals, specifically the
- Hypothesis: The HP Wireless Assistant (HPWA) is causing the problem
- See if the problem starts occurring when the HPWA is installed.
- See if the CPU stops spiking and the
WmiPrvSE.exeprocess stops using >20% CPU when the HPWA process is suspended.
- See if the CPU starts spiking again when the HPWA process is re-enabled
- Repeat steps 2 and 3 for multiple trials to ensure accurate of results
- Results: HPWA is causing extreme CPU usage
- Conclusion: You should uninstall HPWA as it does nothing useful
When I got my HP Pavillion dm4t laptop, I noticed that the CPU would frequently spike to as much as 50% usage, almost every other second. This was draining battery life, and heating up the laptop; much the same symptoms as Sathya has experienced. Just by looking at the Resource Monitor in Windows 7, I was able to see that the process
WmiPrvSE.exe was at fault.
A quick google search confirmed my assumption that this was the Windows Management Instrumentation(WMI) host process. In short, WMI can be used to query for system information, like processor usage, running processes, who is logged on, and all sorts of other information. The WMI host process runs WMI queries for any other process making them, so
WmiPrvSE.exe was not itself the culprit, it was simply an intermediary.
In order to hunt down which specific process was causing this problem, I used Systinternals Process Explorer. I found which instance of the
WmiPrvSE.exe process was using a large amount of CPU, and clicked on it to open detailed information.
Unfortunately, I couldn’t see any way to find out what process was making all the queries, but since I had isolated this as the source of the CPU spikes, and knew it was a service, I went to the services manager to see which services depended on WMI, thinking that might lead me to another clue.
I figured that it wouldn’t be a built-in Windows service causing the problem, so eliminating those, I decided to work down the list and try disabling each service, and seeing if the problem persisted. Right on top of the list was the HP Wireless Assistant Service. I went back to the services menu, and disabled that service. Looking back in the task manager, I saw that CPU usage had gone to almost nothing. I the HPWA service back on. CPU usage shot back up. I now had enough data to form my theory. I uninstalled the HPWA service, and never had the problem again.
Verifying the Hypothesis
Several months later, Sathya asks this question. I decided to prove once-and-for-all that this was HPWA’s fault. I reinstalled the HP Wireless Assistant, which I hadn’t had installed in months. Right away, processor usage shot up. I then went through with the experiment outlined above.
First, I isolated the process responsible for the HPWA service in the Resource Monitor.
HPWA_Main.exe are the two. Here is what the CPU usage looked like with both of these processed running:
Then, I suspended both processes. The CPU usage immediately went down; here’s what it looked like after a few moments for the previous CPU usage on the graph to clear:
I enabled the processes again to see if usage would go back up. It did:
The first spike as I enable HPWA
A little while after I enabled HPWA
Suspending the processes again resulted in the CPU usage going back down:
I tested this for one more iteration, and on the third trial, the same exact thing happened again. I considered this sufficient evidence to show that the HP Wireless Assistant was causing the problem, and subsequently disabled the service, and will now uninstall it.
All the HPWA appears to do is inform the user when their wireless is turned on or off, and gobble CPU. There is nothing you can do with it that you can’t do with the built-in wireless management tools, so I would advise that if you have this software installed, you remove it.
Note: At least one person has reported that uninstalling HPWA caused their wireless switch on the keyboard to stop working. On my laptop, it kept working fine after uninstalling HPWA, but in case yours does stop working, you can always disable the wireless card from inside Windows. Press +x to open the Windows Mobility Center, then click on the
Turn Wireless Off button.
According to a discussion on the HP Support Forums, the problem has been fixed in more recent versions of the HP Wireless Assistant. If your laptop needs HPWA to use the wifi on/off button, you can download the latest version from HP’s drivers website, and probably won’t have this problem any more. Nevertheless, if you don’t need it for the wifi on/off button, there still seems to be no added value from having this software installed.
Filed under Question of the Week