web-dev-qa-db-ja.com

ntoskrnl.exe!_misaligned_accessは、アイドル状態のときに大量のCPUを消費します

下記の不要なCPU使用の原因を教えてください。

症状:

  • コンピュータがアイドル状態のままになると、システムプロセスがCPUの約30%を消費し始めます。いずれかのキーが押されたり、マウスが動かされたりすると、これはすぐに停止します。これはかなり薄いノートブックであり、冷却は持続的な高いCPU使用率のために設計されておらず、音が大きくなるため、これは迷惑です。
  • バッテリー使用中は発生しません。
  • 彼らは簡単に区別できるプロセスを持っているので、アンチウイルスやインデックス化されたものに関連しているようには見えません。

私がこれまでに見つけたもの:

  • プロセスはSystem、PIDは常に4、説明はNTカーネルとシステム
  • このプロセスを Process Hacker (右クリック/プロパティ、次に[スレッド]タブ)で調べると、ntoskrnl.exe!_misaligned_access+0x3f0と呼ばれるスレッドがあり、この不要なすべての原因となっていることがわかります。 CPU使用率。同じことが他のProcessExplorerアプリケーションでも見られます。プロセス名のアドレスは再起動のたびに変更されますが、それらの間では同じままです。

    • 実際には、これらのプロパティを持つ複数のスレッドがありますが、常に同じが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}、ハンドル:0x3f0
  • デバイスマネージャでデバイス(VID8087およびPID8000)を検索しました。これは、Intel Generic USBHubです。

  • 何を探すべきか、これ以上わかりません。

環境の詳細:

  • Dell E7440、Dellの大量のソフトウェアがインストールされている一部。一部のコンポーネント/ドライバーが欠落していることが問題である可能性があることはわかっていますが、リストされている可能性のあるものすべてをインストールしたくありません。デバイスマネージャーは、ドライバーのないデバイスを表示しません。
  • Windows 8.1 Enterprise 64ビット、ハッキングされていない、可能なすべてのアップデート。公式のISOから約1か月前にインストールされましたが、インストールされているがらくたはそれほど多くなく、それ以降、エラーやBSODは発生していません。
  • Windowsに組み込まれているSecurityEssentials以外に、ウイルス対策はありません。
5
Alex Biro

CPU使用率は仕様によるものです。これは、関数ntoskrnl.exe!RtlScrubMemory/ntoskrnl.exe!RtlpGenericRandomPatternWorker/ntoskrnl.exe!RtlpTestMemoryRandomUpに由来します。

enter image description here

この関数は、RAMにランダムパターンを書き込み、RAMのエラーをテストします。Windowsは、アイドルメンテナンスタスク中にこれを実行して、Windowsを最適化します(WinSxSのクリーンアップ、最適化ngenを含む.netファイル)

タスクスケジューラを実行し、Microsoft-> Windows-> Task Schedulerに移動して、Idle Maintenanceを選択します。

enter image description here

右クリックしてdisableを選択します。

enter image description here

4
magicandre1981

残念ながら、タスクスケジューラにこの設定がなかったため、無効にするものは何もありませんでした。 (Windows 10 b1607を使用しています)

しかし、実際に役立ったのは、DWORD値MaintenanceDisabledと値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

2
Renesis