
請告知可能導致下述不必要的 cpu 使用的原因。
症狀:
- 當電腦空閒時,系統程序開始佔用大約 30% 的 CPU。如果按下任意鍵或移動滑鼠,則會立即停止。這很煩人,因為這是一款相當薄的筆記型電腦,而且冷卻系統並不是為持續高 CPU 使用率而設計的,而且聲音很大。
- 使用電池時不會發生這種情況。
- 似乎與防毒或索引相關的東西無關,因為它們有很容易區分的過程。
到目前為止我發現了什麼:
- 過程是系統,PID始終為4,描述為NT核心和系統。
當檢查這個過程時行程駭客(右鍵單擊/屬性,然後單擊“線程”選項卡),事實證明,其中有一個名為“線程”的線程
ntoskrnl.exe!_misaligned_access+0x3f0
負責所有這些不必要的 CPU 使用。在其他流程資源管理器應用程式中也可以找到相同的情況。進程名稱中的位址每次重新啟動都會更改,但在它們之間保持不變。- 實際上,存在具有這些屬性的多個線程,但它們總是使用相同的 CPU(相同的 PID)。
右鍵單擊並檢查給出該線程的堆疊
0、ntoskrnl.exe!KeIsAttachedProcess+0x92e
1、ntoskrnl.exe!KeWaitForMultipleObjects+0x140f
2、ntoskrnl.exe!KeWaitForMultipleObjects+0xcb9
3、ntoskrnl.exe!_misaligned_access+0x5fd
4、ntoskrnl.exe!RtlGetCompressionWorkSpaceSize+0x1f0
5、ntoskrnl.exe!KeSynchronizeExecution+0x59d6
在同一進程的屬性視窗中有一個「句柄」選項卡。有這一行可能與上面的線程連接,因為句柄與行為不當的線程中的地址相同:
- 類型:SymbolicLink,名稱:\GLOBAL??\USB#VID_8087&PID_8000#5&47f868&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8},句柄:0x3f柄
在裝置管理員中尋找裝置(VID 8087和PID 8000),它是Intel Generic USB Hub
我不知道該尋找什麼。
環境詳情:
- 戴爾 E7440,附一些戴爾安裝的大量軟體。我知道,問題可能是缺少某些組件/驅動程序,但我仍然不想安裝所有可能列出的東西。裝置管理員不顯示任何沒有驅動程式的裝置。
- Windows 8.1 Enterprise 64 位,未經駭客攻擊,具有所有可能的更新。大約一個月前從官方 iso 安裝,沒有安裝太多垃圾,從那時起就沒有錯誤或 BSOD。
- 除了 Windows 內建的 Security Essentials 之外,沒有防毒軟體。
答案1
CPU 使用率是設計使然。它來自函數ntoskrnl.exe!RtlScrubMemory
// ntoskrnl.exe!RtlpGenericRandomPatternWorker
。ntoskrnl.exe!RtlpTestMemoryRandomUp
此函數將隨機模式寫入 RAM 以測試 RAM 是否有錯誤。 Windows 在空閒維護任務期間執行此操作以最佳化 Windows(清理 WinSxS、使用 ngen 最佳化 .net 檔案)
執行任務排程程序,前往 Microsoft -> Windows -> 任務排程程序,選擇Idle Maintenance
,
右鍵單擊並選擇disable
。
答案2
不幸的是,我在任務計劃程式中沒有此設置,因此我沒有任何要停用的內容。 (我使用的是 Windows 10 b1607)
但真正有幫助的是增加一個 DWORD 值維護禁用 有價值1到這個鍵:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
在此之後,我的空閒 CPU 使用率不再很高。
您可以在這裡查看更多詳細資訊: https://www.tenforums.com/tutorials/40119-enable-disable-automatic-maintenance-windows-10-a.html