Для диагностики проблем использования процессора необходимо использовать Event Tracing for Windows (ETW) для считывания данных выборки процессора / профиля.
Для считывания данных установите Windows Performance Toolkit , который является частью Windows SDK .
Windows 10 WPT можно использовать в Windows 8/Server 2012, Windows 8.1/Server 2012R2 и Windows 10/Server 2016. Если вы все еще используете Windows 7, используйте SDK/WPT с Build 15086 .
(все остальные записи можно не выбирать)
Теперь запустите WPRUI.exe
, выберите First Level
, в разделе Ресурсы выберите использование ЦПУ и нажмите старт.
Теперь перехватите 1 минуту использования ЦПУ. Через 1 минуту нажмите на Save.
Теперь проанализировать сгенерированный ETL файл с Windows Performance Analyzer путем перетаскивания графика CPU Usage (sampled)
на analysis pane
и заказа столбцов, как вы видите на картинке:
Внутри WPA, загрузить отладочные символы и развернуть Стек процесса SYSTEM. В данной демонстрации, использование процессора происходит от драйвера nVIDIA.
В данной демонстрации, использование процессора происходит от драйвера NIC Realtek:
Когда вы видите звонки типа ntoskrnl.exe! Вид KeTrimWorkerThreadRoutine, ntoskrnl.exe! Мм Верификатор ТримПамять, ntoskrnl.exe! Верификатор KeLeaveCriticalRegion, это означает, что у вас включен Driver Verifier. Это также сильно снижает производительность и приводит к высокой нагрузке на систему. Отключите драйверный верификатор и перезагрузитесь.
В этой демонстрации драйвер iai2ce.sys
(драйвер Intel Serial IO GPIO Controller) вызывает это:
В этом примере использование процессора происходит из файла rtsuvc.sys
, который кажется Realtek UVC webcam Driver
Эта демонстрация показывает, что драйвер Bitdefender ignis.sys
В следующем примере, использование процессора кассируется драйвером сети Broadcom bcmwl664.sys
Когда вы видите ntoskrnl.exe!MiZeroWorkerPages
как причину, это хитрее. Это означает, что функция ядра, которая обнуляет память перед повторным использованием, приводит к высокой загрузке процессора:
Не существует реального способа определить, какой процесс вызывает это, но я знаю, что Chrome может вызвать это, если у вас в Chrome включено аппаратное ускорение. Поэтому, если вы видите это и используете Chrome, выключите аппаратное ускорение в Chrome.
Когда вы видите эти ntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUp вызывает
, использование процессора приходит от ядра, чтобы проверить память на наличие проблем (memtest). Это использование запускается с помощью задачи обслуживания в режиме ожидания Windows 8.1/10. Вы можете использовать планировщик задач для отключения холостой задачи.
В Windows 10, задача называется RunFullMemoryDiagnostics под Microsoft > Windows > MemoryDiagnostic > RunFullMemoryDiagnostic.
В этом случае использование процессора, кажется, происходит от Data Deduplication
Feature (dedup.sys!DdpPostCreate
) Windows Server:
В этой демонстрации, использование процессора вызвано драйвером WIFI карты athrx.sys
Поиск обновления драйвера, если вы видите это.
В следующей демо-версии задействован драйвер Citrix:
Так что свяжитесь с вашими ИТ-специалистами для решения проблем Citrix.
В этой демо-версии функция usbhub.sys!UsbhPortRecycle
вызывает использование процессора:
Изменение портов USB2.0 на скорость 1.1 или подключение USB-накопителей к другим USB-накопителям 2. 0 портов помогли некоторым пользователям.
В этом случае, небольшое количество использования системы приходит от драйвера Acronis tdrpm251.sys
:
В этой демонстрации, использование процессора ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
и ntoskrnl.exe!KeReleaseSpinLock
.
, поэтому драйвер использует SpinLocks очень интенсивно. Отключите некоторые устройства/драйверы до тех пор, пока не увидите драйвер, который их вызывает.
В этом случае, использование процессора вызвано драйвером L1C62x64.sys
Это драйвер qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
. Обновите драйвер, если вы видите его в стеке.
Здесь, использование процессора происходит от сканирования файла хоста (netbt.sys!DelayedScanLmHostFile)
Убедитесь, что ваш файл хоста не слишком велик, чтобы избежать этого использования.
В этом случае, использование процессора происходит от SRTSP64.SYS
от symantec.
Обновите ваш используемый продукт symantec до последней версии.
Здесь информация об использовании процессора поступает от AMD GPU драйвера (atikmdag.sys)
Если вы видите это, перейдите на сайт AMD и получите последнюю версию драйвера для вашей AMD карты.
Здесь драйверы TMXPFlt.sys и VsapiNt.sys приводят к высокой нагрузке на процессор.
Из того, что я вижу, эти файлы являются частью пакета Trend Micro AV. Обновите инструмент или удалите его.
В данном примере использование процессора происходит от функции ntoskrnl.exe!MmGetPageFileInformation
Эта функция получает информацию о файле страницы.
Описание маршрута: Эта рутина возвращает информацию об активных в данный момент файлах подкачки.
Отключите файл подкачки, перезагрузитесь и включите его снова и посмотрите, исправит ли это. Также, удаление служб Intel (например, Intel Content Protection HECI Service) кажется, исправило это для пользователя .
Здесь видно, что драйвер Netwtw04.sys
(Intel Wifi driver) вызывает функцию flushCompleteAllPendingFlushRequests
, и это приводит к высокой загрузке процессора.
Потому что при загрузке отладочных символов используется драйвер входящего почтового ящика Windows. Только здесь мы можем получить отладочные символы, чтобы увидеть callstack с именем функции flushCompleteAllPendingFlushRequests
.
Здесь нужно установить последний драйвер от Intel , чтобы исправить это.
Самый сложный случай использования SYSTEM - это использование ACPI.sys в callstack:
Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , , | |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , , | | ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , , | | ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , , | | ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , , | | ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , , | | ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , , | | ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , , | | ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , , | | ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , , | | |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , , | | | |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , , | | | | |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , , | | | | | ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , , | | | | | |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , , | | | | | | |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48
это очень сложно отладить. В теме sysinternals topic я перечислил некоторые советы:
- убедитесь, что процессор не перегревается из-за пыли в вентиляторе процессора
- обновите или прошивайте заново (аналогично) BIOS/UEFI
- загрузите настройки BIOS/UEFI по умолчанию
- убедитесь, что батарея не повреждена, извлеките батарею из ноутбука или отключите батарею в диспетчере устройств.
- замена перемычки на HDD кадди - если вы заменили DVD/Blue-Ray Drive на Caddy для установки SSD рядом со старым HDD
В следующей демонстрации, драйвер Intel HD igdkmd64.sys
версии .4574 для Intel HD 630 вызывает проблему:
Решение заключается в update to driver с версией, по крайней мере . 4590.
В следующем случае использование процессора в процессе SYSTEM вызвано драйвером stdriverx64.sys
. Обновите это программное обеспечение/драйвер, если вы видите это в WPA.
Если вы видите драйвер с именем risdxc64.sys
в стоге вызовов SYSTEM, который вызывает высокую нагрузку на процессор, обновите драйвер Ricoh PCIe SDXC/MMC Host Controller или отключите SD кард-ридер в диспетчере устройств, если обновление драйвера не исправляет его.
Этот SD кард-ридер, кажется, встроен во многие устройства Lenovo.
Пользователь @stevemidgley показал новую проблему более интенсивного использования процессора с Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Здесь Вы можете увидеть драйвер UDE.sys, вызывающий это.
В символьном хабе
Я вижу, что он принадлежит драйверу модема и PNP данные трассы показывают Fibocom L850-GL
(LTE модем) как возможное устройство:
И решение заключается в отключении модема и USB композитного устройства в менеджере устройств.