
Пожалуйста, сообщите, что может быть причиной ненужного использования процессора, описанного ниже.
Симптомы:
- Когда компьютер простаивает, системный процесс начинает потреблять около 30% ресурсов ЦП. Если нажать любую клавишу или пошевелить мышью, это прекратится через секунду. Это раздражает, так как это довольно тонкий ноутбук, а охлаждение не рассчитано на постоянную высокую загрузку ЦП и становится громким.
- При работе от батареи этого не происходит.
- Похоже, это не связано с антивирусом или индексированием, поскольку у них есть свои легко различимые процессы.
Что я нашел на данный момент:
- Процесс заключается в следующем:Система, PID всегда 4, описаниеЯдро и система NT.
При рассмотрении этого процесса с помощьюПроцесс Хакер(правый клик/свойства, затем вкладка Потоки), оказывается, что в нем есть поток, который называется ,
ntoskrnl.exe!_misaligned_access+0x3f0
который отвечает за все это ненужное использование ЦП. То же самое можно найти и в других приложениях Process Explorer. Адрес в имени процесса меняется при каждой перезагрузке, но остается тем же между ними.- На самом деле существует несколько потоков с такими свойствами, но всегда один и тот же использует ЦП (один и тот же 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
В окне свойств того же процесса есть вкладка Handles. Там есть эта строка, которая может быть связана с потоком выше, поскольку дескриптор совпадает с адресом в неправильно работающем потоке:
- Тип: SymbolicLink, Имя: \GLOBAL??\USB#VID_8087&PID_8000#5&47f868&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}, Дескриптор: 0x3f0
Поискал устройство (VID 8087 и PID 8000) в диспетчере устройств, и это Intel Generic USB Hub
Я больше не имею представления, что искать.
Подробности об окружающей среде:
- Dell E7440, снекоторыйтонны установленного ПО Dell. Я знаю, что проблема может быть в отсутствии какого-то компонента/драйвера, но я все равно не хочу устанавливать все возможные перечисленные вещи. Диспетчер устройств не показывает никаких устройств без драйверов.
- Windows 8.1 Enterprise 64 бит, не взломанная, со всеми возможными обновлениями. Установлена около месяца назад с официального iso, на ней не установлено много дерьма, с тех пор никаких ошибок или BSOD.
- Антивируса нет, кроме встроенного в Windows Security Essentials.
решение1
Использование ЦП является намеренным. Оно происходит из функции ntoskrnl.exe!RtlScrubMemory
/ ntoskrnl.exe!RtlpGenericRandomPatternWorker
/ ntoskrnl.exe!RtlpTestMemoryRandomUp
.
Эта функция записывает случайные шаблоны в ОЗУ для проверки ОЗУ на наличие ошибок. Windows делает это во время задачи Idle Maintenance для оптимизации Windows (очистка WinSxS, оптимизация файлов .net с помощью ngen)
Запустите Планировщик заданий, перейдите в Microsoft -> Windows -> Планировщик заданий, выберите Idle Maintenance
,
щелкните правой кнопкой мыши и выберите disable
.
решение2
К сожалению, у меня не было этой настройки в Планировщике задач, поэтому мне нечего было отключать. (У меня Windows 10 b1607)
Но на самом деле помогло добавление параметра DWORDТехническое обслуживаниеОтключено со значением1к этому ключу:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
После этого загрузка моего процессора в режиме ожидания перестала быть высокой.
Более подробную информацию можно увидеть здесь: https://www.tenforums.com/tutorials/40119-enable-disable-automatic-maintenance-windows-10-a.html