Install the Windows Performance Toolkit, which is part of the Windows 10 SDK.
"C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\WPRUI.exe", select
First Level and
CPU and click on
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.
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 (
This is by design and happens when the idle maintenance task kicks up when your device is idle.
You can disable this task in the task scheduler under
Task Scheduler Task Scheduler Library->Microsoft->Windows->MemoryDiagnostic.
If this is not the cause, share the ETL (compressed as zip) on OneDrive and post a link here.