5

My Windows 10 laptop with an i7 and 16 GB of RAM often gets the fans going full speed when I am not using it. It is a bit slow to respond sometimes when I try to wake it up to check what is going on. Every time I try to open the Task Manager to check out the Details tab and see what is using the CPU, nothing shows up. I'm running as admin, and all tasks are showing. I am guessing the system is hiding what it is working on because it is seen as a "system" task.

What is a good tool to use that will monitor and report what is utilizing CPU? I've used ProcMon before, but I didn't find the output particularly accurate or helpful.

More importantly, how can I stop this from happening? I am quite annoyed that so much software feels the need to do things when my computer is idle. Is there something like ZoneAlarm, but for CPU?

1
  • 1
    have you tried to capture a ETW trace with WPRUI and analyzed it with WPA? Do you also see this ntoskrnl.exe!MiScrubMemoryWorker usage? Sep 17, 2016 at 7:01

4 Answers 4

12

Install the Windows Performance Toolkit, which is part of the Windows 10 SDK.

Run "C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\WPRUI.exe", select First Level and CPU and click on Start.

enter image description here

Now leave the PC idle and wait until you here the fans again. Now wait 20s and click on Save to store the trace into an ETL file.

enter image description here

Now make a double click on the ETL to load it in WPA.exe. Load the debug symbols in WPA and drag & drop the CPU usage (Sampling) graph from the left side to the analysis pane. Do a righclick on the Header of the Summary Table and activate the stack column.

Now look which process uses most CPU (Weight %) and expand the stack and look for the function names what the process does.

I assume that you see the ntoskrnl.exe!MiScrubMemoryWorker as cause.

Line #, DPC/ISR, Process, Stack Tag, Stack, Count, TimeStamp (s), % Weight
8, , , ,    |    |    |- ntoskrnl.exe!MiScrubMemoryWorker, 79667, , 12,45
9, , , ,    |    |    |    ntoskrnl.exe!MiScrubNode, 79667, , 12,45
10, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePages, 79667, , 12,45
11, , , ,   |    |    |    ntoskrnl.exe!MiScrubNodeLargePageList, 79667, , 12,45
12, , , ,   |    |    |    |- ntoskrnl.exe!MiScrubPage, 79663, , 12,45
13, , , ,   |    |    |    |    |- ntoskrnl.exe!RtlScrubMemory, 79653, , 12,45
14, , , ,   |    |    |    |    |    |- ntoskrnl.exe!RtlpGenericRandomPatternWorker, 38549, , 6,02

This is a function to test the memory for errors by filling / reading some patterns (ntoskrnl.exe!RtlpGenericRandomPatternWorker).

This is by design and happens when the idle maintenance task kicks up when your device is idle.

You can disable the memory diagnostic component named "RunFullMemoryDiagnostic" in the Task Scheduler under Task Scheduler Task Scheduler Library->Microsoft->Windows->MemoryDiagnostic.

enter image description here

If this is not the cause, share the ETL (compressed as zip) on OneDrive and post a link here.

4
  • 2
    Exactly that was the problem in my case, I had ntoskrnl.exe!MiScrubMemoryWorker ranking high in my %Weight column.
    – Arise
    Jan 28, 2018 at 7:58
  • As of August 7, 2022, that scheduled task does not seem to exist in Windows 10 version 21H2.
    – Zian Choy
    Aug 7, 2022 at 20:27
  • 1
    @ZianChoy I can see the task in 22H2. task is called RunFullMemoryDiagnostics Aug 7, 2022 at 21:08
  • Thanks. I found it.
    – Zian Choy
    Sep 3, 2022 at 21:10
0

Well all you can get is the list of running processes (Task Manager). All other tools use the same data. Generally you can track processes and check how much CPU time they require, but:

1) Slow response can have a plethora of reasons 2) The fan spiking has not a lot to do with CPU usage

I assume it's not a U series i7 but an M, so this is a pretty demanding system which needs to be frequently cooled. When and how fast the fan runs is depending on the fan config.

0

You can waste weeks trying to find this issue. Mine was cleared by a clean windows 10 install and not an upgrade.

Use a keyfinder to get your current key and make sure you have your old windows 8 key before you attempt a clean install.

Once you have those, do the standard backups, download the USB creation tool to create Win10 installer http://bit.ly/winxusb

Grab drivers etc from the manufacturers website - place them on USB stick before the upgrade - A few times I have been stuck when I needed the USB/Network/wifi drivers and don't have any connectivity to obtain.

Takes a while but very satisfying when you see your computer behaving exactly as it should.

-1

Reinstalling Windows is a last resort! Resource Monitor is a more detailed Task Manager and it lists all processes by current CPU % and average CPU %, so you can hunt down whatever causes the spikes.

Alo, if you're feeling a bit more adventurous, you might want to try blowing out the dust from inside your laptop with a can of compressed air, so the fan doesn't need to spin up so much.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .