我的筆記型電腦上運行的是 Windows 8.1,並且它被設定為在合上蓋子時不執行任何操作。
然而,我經常注意到風扇聲音很大,當我打開筆記型電腦時,我可以看到 CPU 使用率突然從 70% 下降到幾乎為零。當蓋子關閉時,系統進程似乎使用了 30%+ CPU,然後當我打開蓋子時突然停止。什麼可能導致這種行為?
答案1
捕獲 CPU 使用情況的追蹤。安裝來自 Win10 SDK 的 WPT,以管理員身份開啟 cmd.exe 並執行以下命令:
xperf -on latency -stackwalk profile -buffersize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\highCPUUsage.etl
現在執行觸發系統程序的CPU使用率的操作。當您看到問題時,等待 30 秒,打開蓋子,轉到 cmd.exe 並按任何鍵停止記錄。
我的猜測是,期間使用 WPA 分析 ETL 文件它將顯示 CPU 使用率的來源ntoskrnl.exe!MiScrubMemoryWorker
,您將看到以下內容:
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
這是一個透過填充/讀取某些模式來測試記憶體是否有錯誤的功能 ( ntoskrnl.exe!RtlpGenericRandomPatternWorker
)。
這是設計使然,當您的裝置空閒時空閒維護任務啟動時就會發生這種情況。
要停止它,請使用任務計劃程序並停用空閒維護任務。