Thursday, October 22, 2015

windows 10 - CPU Constantly at 100% In Task Manager, But Not in Process Explorer


Starting yesterday, I have a very odd problem on my Windows 10 desktop-- my CPU is constantly running at 100% (according to Task Manager), and it isn't throttling down. Because of this, it's constantly running at 3.3 GHz and the temperatures are rising to the point where the fans kick in at full force. If I go into the Windows power settings screen and manually change the processor power maximum to 50%, then it's capped at 50% frequency (~1.5 GHz), but it never goes below the maximum possible frequency.


The weird thing is, when I look at the process list, there isn't really anything obvious that's triggering it. None of the processes are abnormal, and though the process CPU percentages do add up to 100%, it doesn't make sense to me that each individual process is taking up as much CPU as Task Manager says it is. Everything seems to be "using" a significantly higher amount of CPU resources than it normally does.


As an attempt to diagnose the problem, I've also tried using Process Explorer. The really weird thing is that Process Explorer shows only 1-2% usage when idle, with the System Idle Process taking up the remaining ~98% as I would expect. Again, nothing looks out of the ordinary in the process list, but the processes are showing the levels of activity I would expect in Process Explorer.


I've already run both Windows Defender and Malware Bytes (a virus was my first guess), but nothing has turned up yet.


This same issue also occurs in Safe Mode, so I'm guessing that it's more along the lines of something to do with Windows itself...


So, to recap:



  • Windows 10 Desktop

  • Intel 970, 3.3 GHz, 6 cores

  • Task manager and resource monitor graphs shows 100% usage total

  • No individual process is taking up significant resources in the resource monitor list

  • CPU is not throttling down automatically based on the dynamic load, causing high temperatures and the fan to kick in

  • Process Explorer is only showing 1-2% CPU usage


Before I go uninstalling everything, how would I figure out what's causing the issue if nothing weird is showing up in Task Manager or Process Explorer?


Answer



After much debugging, I was able to come to the conclusion that my specific case was related to a bug in the Oculus Rift software. Because the Rift, a virtual reality headset, requires low latency, their software seems to set the IDLEDISABLE power configuration to "1". In certain cases, after taking the headset off, the setting is not changed back to the default of "0".


IDLEDISABLE prevents the CPU from throttling itself, causing heat and the fan noise I observed. Additionally, this manifested in the Task Manager as "100% CPU usage". Process Explorer seems to always discount the System Idle Process and not include it in the total CPU usage, which is why it displayed a lower total CPU usage than Task Manager did.


To fix this, you can run the following two commands, which sets the IDLEDISABLE setting back to "0" and then re-applies the power management configuration.


C:\WINDOWS\system32>PowerCfg /SETACVALUEINDEX SCHEME_CURRENT SUB_PROCESSOR IDLEDISABLE 000
C:\WINDOWS\system32>PowerCfg /SETACTIVE SCHEME_CURRENT

More information can be found in my post-mortem.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...