Monday, August 17, 2015

memory - Windows 8.1 System process high CPU usage due to ntoskrnl.exe!KeRegisterBugCheckReasonCallback thread

On a Lenovo Yoga 2 Pro laptop, 8GB RAM, Intel Core i7, running Windows 8.1 I'm seeing the following. In situations of high system load (high CPU/memory usage), the System process starts using high CPU in addition to the CPU already used by other processes. This has been happening for at least a year.


Examples of the situations when this happens:



  • Many Google Chrome tabs open with the Developer Tools open for some of them

  • A Virtualbox virtual machine with 2-3GB RAM doing some heavy lifting on top of the usual browsers, background apps

  • A Java application using 1GB of RAM, 3GB of virtual memory using 100% of one CPU core on top of the usual browsers, background apps


The irony of the situation is that when the system is already under heavy load, the System using more CPUs causes even more of a slowdown.


Using Process Explorer I've been able to pinpoint the thread within System that uses high CPU to be ntoskrnl.exe!KeRegisterBugCheckReasonCallback. This is a function that should be called by drivers when a BSOD is happening (see this question). However in my case no BSOD happens.


The issue occurs even with no USB devices attached, so none of those can be the cause.


I've done a WPA trace when the issue occurred as explained in this question, screenshot below. This doesn't tell me much more than resources are used within ntoskrnl.exe with the nearest driver in the trail being fltmgr.sys. That doesn't help me a lot because it's not a specific driver that I can uninstall or upgrade.


Any pointers to further debug this are welcome!


Process Explorer for the System process while the issue is happening:


ntoskrnl.exe!KeRegisterBugCheckReasonCallback thread within System process


Process Explorer showing System CPU history


WPA trace:


WPA trace
WPA trace digging down

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...