Для диагностики проблем использования ЦП следует использовать трассировку событий для 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 минуту нажмите Сохранить .
Теперь проанализируйте сгенерированный файл ETL с помощью анализатора производительности Windows , перетаскивая CPU Usage (sampled)
график в analysis pane
и упорядочивая столбцы, как показано на рисунке:
Внутри WPA загрузите символы отладки и разверните стек процесса SYSTEM. В этой демонстрации загрузка процессора происходит от драйвера nVIDIA.
В следующей демонстрации загрузка ЦП происходит от драйвера сетевой карты Realtek:
Когда вы видите звонки, как ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , это означает, что у вас включен драйвер Driver Verifier. Это также сильно снижает производительность и приводит к интенсивному использованию СИСТЕМЫ. Отключите проверку драйверов и перезагрузите компьютер.
В этой демонстрации драйвер iai2ce.sys
(драйвер контроллера Intel Serial IO GPIO) вызывает его:
В этом примере загрузка ЦП происходит из файла, 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)
убедитесь, что ваш файл hosts не слишком велик, чтобы избежать такого использования.
В этом случае загрузка процессора происходит 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), кажется, исправило это для пользователя .
Здесь вы можете видеть, что драйвер Netwtw04.sys
( драйвер Intel Wifi) вызывает функцию, flushCompleteAllPendingFlushRequests
и это вызывает высокую загрузку ЦП.
Поскольку символы отладки загружаются, используется драйвер входящих сообщений Windows. Только здесь мы можем получить отладочные символы, чтобы увидеть стек вызовов с именем функции flushCompleteAllPendingFlushRequests
.
Здесь вы должны установить последнюю версию драйвера от Intel, чтобы исправить это.
Наиболее сложным случаем использования SYSTEM является использование ACPI.sys в стеке вызовов:
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 я перечислил несколько советов:
- убедитесь, что процессор не перегревается из-за пыли в вентиляторе процессора
- обновить или повторно прошить (тот же) BIOS / UEFI
- загрузить настройки BIOS / UEFI по умолчанию
- убедитесь, что аккумулятор не поврежден, выньте аккумулятор из ноутбука или отключите аккумулятор в диспетчере устройств.
- замените перемычку на жестком диске, если вы заменили дисковод DVD / Blue-Ray на диск для установки твердотельного накопителя рядом со старым жестким диском
В следующей демонстрации драйвер Intel HD igdkmd64.sys
в версии .4574 для Intel HD 630 вызывает проблему:
Решение - обновить драйвер до версии не ниже .4590.
В следующем случае загрузка ЦП процесса SYSTEM вызвана драйвером stdriverx64.sys
Кажется, это драйвер потокового аудио . Поэтому обновите это программное обеспечение / драйвер, если вы видите это в WPA.
Если risdxc64.sys
в вызове стека SYSTEM вызывается драйвер , вызывающий высокую загрузку ЦП, обновите драйвер контроллера хоста Ricoh PCIe SDXC / MMC или отключите устройство чтения карт SD в диспетчере устройств, если обновление не было исправлено ни одним драйвером .
Это устройство чтения карт SD, похоже, встроено во многие устройства Lenovo.
Пользователь @stevemidgley показал новую проблему более высокой загрузки ЦП с Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Здесь вы можете увидеть драйвер UDE.sys, вызывающий его.
В символьном центре
Я вижу, что это относится к драйверу модема и данным трассировки PNP Fibocom L850-GL
(модем LTE) как возможное устройство:
И решение состоит в том, чтобы отключить модем и композитное устройство USB в диспетчере устройств.