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
.
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 (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
.
If this is not the cause, share the ETL (compressed as zip) on OneDrive and post a link here.