Щоб діагностувати проблеми використання процесора, слід скористатися відстеженням подій для Windows (ETW) для збору даних / профілю вибірки процесора.
Щоб захопити дані, встановіть інструментарій Windows Performance Toolkit , який є частиною пакета SDK для Windows .
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 NIC:
Коли ви бачите дзвінки на зразок ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , це означає , що у вас включена функція Driver Verifier. Це також сильно шкодить продуктивності та призводить до високого використання СИСТЕМИ. Вимкнути перевірку драйверів та перезавантажити.
У цьому демонстраційному режимі драйвер iai2ce.sys
( драйвер Intel Serial IO GPIO Controller) викликає його:
У цьому прикладі використання процесора відбувається з файлу, rtsuvc.sys
який, здається, єRealtek UVC webcam Driver
Ця демонстрація показує, що драйвер Bitdefender ignis.sys
У наступному прикладі використання процесора призначається драйвером мережі 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 надходить невелика кількість використання SYSTEM 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 (atikmdag.sys)
якщо ви бачите це, перейдіть на сайт AMD і знайдіть останній драйвер для вашої картки AMD.
Тут драйвери TMXPFlt.sys і SvapiNt.sys викликають високе використання процесора.
Як я бачу, ці файли є частиною пакету Trend Micro AV. Оновіть інструмент або видаліть його.
У цьому прикладі використання процесора відбувається від функції ntoskrnl.exe!MmGetPageFileInformation
Ця функція отримує інформацію про файл сторінки.
Повсякденний опис: Цей звичайний метод повертає інформацію про поточно активні файли підкачки.
Вимкніть файл сторінки, перезавантажте його та увімкніть його ще раз, і побачите, чи це виправлено. Крім того, видалення служб Intel (наприклад, Intel Content Protection HECI Service), здається, виправить це для користувача .
Тут ви бачите, що драйвер 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 за замовчуванням
- переконайтеся, що акумулятор не пошкоджений, вийміть його з ноутбука або вимкніть акумулятор у диспетчері пристроїв.
- змінити перемичку на жорсткому диску HDD, якщо ви замінили диск DVD / Blue-Ray Drive на Caddy, щоб встановити SSD поруч зі своїм старим жорстким диском
У наступній демонстрації драйвер Intel HD igdkmd64.sys
у версії .4574 для Intel HD 630 викликає проблему:
Рішення - оновити драйвер з версією принаймні .4590.
У наступному випадку використання процесора в процесі SYSTEM викликається драйвером stdriverx64.sys
Це, здається, драйвер потокового аудіо . Тому оновіть це програмне забезпечення / драйвер, якщо ви бачите це в WPA.
Якщо ви побачите драйвер, що викликається risdxc64.sys
в стопку виклику системи SYSTEM, який викликає високе використання процесора, оновіть драйвер Ricoh PCIe SDXC / MMC Host Controller або відключіть зчитувач SD-карт у менеджері пристроїв, якщо оновлення драйвера не виправить це.
Цей зчитувач SD-карт, здається, вбудований у багато пристроїв Lenovo.
Користувач @stevemidgley показав нову проблему з більш високим використанням CPU Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Тут ви можете побачити драйвер UDE.sys, що його викликає.
У центрі символів
Я можу бачити, що це належить до драйвера модему та даних PNP трек-шоу Fibocom L850-GL
(LTE-модем) як можливого пристрою:
І рішення - відключити модем і USB-композитний пристрій в диспетчері пристроїв.