High CPU from ntoskrnl.exe during idle on GetStackLimits

I found the answer to my problem a long time ago, but forgot to add it in here.

It was the maintenance functionality in Windows 10 called:

RunFullMemoryDiagnostic

Found under:

\Microsoft\Windows\MemoryDiagnostic

After disabling this my maintenance tasks can finish instead of just using CPU on this task.

I do not have any memory problems or BSODs lately, but I do have 32GB of memory, which might play a role for this task to finish.

I did run it for some hours, but it never finished, so I am much better off without it.

Thank you for the help though!


Unfortunately, I don't know if this behavior stops when idle conditions disappear, but it's a normal thing for the mpengine (Microsoft's AV stuff) to run the MRT tool and scan like mad, which results in high CPU usage for some time (that the tool needs to run its scans), after a small period of idle when a user is logged on.

If CPU use goes back to normal after you do something like move the mouse or touch a key, this is probably what's happening.

I find this easiest to see with Process Explorer.

If activity remains high when idle conditions cease, it's something else.