ntoskrnl.exe!_misaligned_access 空閒時佔用大量 CPU

ntoskrnl.exe!_misaligned_access 空閒時佔用大量 CPU

請告知可能導致下述不必要的 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!RtlpGenericRandomPatternWorkerntoskrnl.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

相關內容