Aby zdiagnozować problemy z użyciem procesora, należy użyć funkcji śledzenia zdarzeń dla systemu Windows (ETW) w celu przechwycenia danych / profilu próbkowania procesora.
Aby przechwycić dane, zainstaluj Windows Performance Toolkit , który jest częścią zestawu Windows SDK .
Z systemu Windows 10 WPT można korzystać w systemach Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 i Windows 10 / Server 2016. Jeśli nadal używasz systemu Windows 7, użyj zestawu SDK / WPT z kompilacją 15086 .
(wszystkie inne wpisy można odznaczyć)
Teraz uruchom WPRUI.exe
, wybierz First Level
w obszarze Zasób wybierz użycie procesora i kliknij przycisk Start .
Teraz przechwyć 1 minutę użycia procesora. Po 1 minucie kliknij Zapisz .
Teraz przeanalizuj wygenerowany plik ETL za pomocą narzędzia Windows Performance Analyzer , przeciągając i upuszczając CPU Usage (sampled)
wykres do analysis pane
oraz porządkując kolumny jak na zdjęciu:
Wewnątrz WPA załaduj symbole debugowania i rozwiń Stos procesu SYSTEM. W tym pokazie użycie procesora pochodzi ze sterownika nVIDIA.
W poniższej wersji demonstracyjnej użycie procesora pochodzi ze sterownika Realtek NIC:
Gdy zobaczysz połączenia takie jak ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Weryfikator KeLeaveCriticalRegion , oznacza to, że masz włączony Driver Verifier. Wpływa to również bardzo niekorzystnie na wydajność i powoduje duże zużycie SYSTEMU. Wyłącz Driver Verifier i uruchom ponownie.
W tej wersji demonstracyjnej sterownik iai2ce.sys
(sterownik kontrolera Intel Serial IO GPIO) powoduje:
W tym przykładzie użycie procesora pochodzi z pliku, rtsuvc.sys
który wydaje się byćRealtek UVC webcam Driver
To demo pokazuje, że sterownik Bitdefender ignis.sys
W poniższym przykładzie użycie procesora jest spowodowane przez sterownik sieci Broadcom bcmwl664.sys
Gdy widzisz ntoskrnl.exe!MiZeroWorkerPages
jako przyczynę, jest trudniejsze. Oznacza to, że funkcja jądra, która zeruje pamięć przed ponownym użyciem, powoduje duże zużycie procesora:
Nie ma prawdziwego sposobu na wykrycie, który proces go powoduje, ale wiem, że Chrome może to powodować, jeśli masz włączoną akcelerację sprzętową w Chrome. Jeśli więc to widzisz i używasz Chrome, wyłącz przyspieszenie sprzętowe w Chrome.
Kiedy widzisz te Ntoskrnl.exe! RtlpGenericRandomPatternWorker, ntoskrnl.exe! RtlpTestMemoryRandomUp połączeń
użycie procesora pochodzi z jądra do testowania pamięci pod kątem problemów (memtest). To użycie jest uruchamiane przez bezczynne zadanie konserwacji systemu Windows 8.1 / 10. Za pomocą Harmonogramu zadań można wyłączyć bezczynne zadanie.
W Windows 10 zadanie nazywa się RunFullMemoryDiagnostic w Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .
W tym przypadku użycie procesora wydaje się pochodzić z Data Deduplication
funkcji ( dedup.sys!DdpPostCreate
) systemu Windows Server:
W tym pokazie użycie procesora jest spowodowane przez sterownik karty WIFI athrx.sys
Wyszukaj aktualizację sterownika, jeśli ją widzisz.
W poniższej wersji demo uczestniczy sterownik citrix:
Skontaktuj się z działem IT, aby uzyskać informacje na temat rozwiązywania problemów z Citrix.
W tym pokazie funkcja usbhub.sys!UsbhPortRecycle
powoduje użycie procesora:
Zmiana portów USB2.0 na 1.1 lub podłączanie napędów USB do innych portów USB 2.0 pomogła niektórym użytkownikom.
W takim przypadku niewielka ilość użycia SYSTEMU pochodzi ze sterownika Acronis tdrpm251.sys
:
W tej wersji demo użycie procesora ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
i ntoskrnl.exe!KeReleaseSpinLock
.
więc kierowca bardzo mocno korzysta ze SpinLocks . Wyłącz niektóre urządzenia / sterowniki, dopóki nie zobaczysz jednego, który je powoduje.
W takim przypadku użycie procesora jest spowodowane przez sterownik L1C62x64.sys
To jest qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
sterownik. Zaktualizuj sterownik, jeśli widzisz go na stosie.
Tutaj użycie procesora pochodzi ze skanowania pliku hosta (netbt.sys! DelayedScanLmHostFile)
upewnij się, że plik hosts nie jest zbyt duży, aby uniknąć tego użycia.
W takim przypadku użycie procesora pochodzi z SRTSP64.SYS
firmy Symantec.
Zaktualizuj używany produkt Symantec do najnowszej wersji.
Tutaj użycie procesora pochodzi ze sterownika AMD GPU (atikmdag.sys)
jeśli to zobaczysz, przejdź do strony AMD i pobierz najnowszy sterownik dla swojej karty AMD.
W tym przypadku sterowniki TMXPFlt.sys i VsapiNt.sys powodują wysokie użycie procesora.
Z tego, co widzę, te pliki są częścią pakietu Trend Micro AV Suite. Zaktualizuj narzędzie lub usuń je.
W tym przykładzie użycie procesora pochodzi z funkcji ntoskrnl.exe!MmGetPageFileInformation
Ta funkcja pobiera informacje o pliku stronicowania.
Opis procedury: Ta procedura zwraca informacje o aktualnie aktywnych plikach stronicowania.
Wyłącz plik strony, uruchom ponownie i włącz go ponownie i sprawdź, czy to naprawi. Również usunięcie usług Intel (np. Usługa HECI Intel Content Protection) wydaje się naprawiać to dla użytkownika .
Tutaj widać, że sterownik Netwtw04.sys
( sterownik Intel Wifi) wywołuje tę funkcję, flushCompleteAllPendingFlushRequests
co powoduje duże zużycie procesora.
Ponieważ symbole debugowania są ładowane, używany jest sterownik skrzynki odbiorczej systemu Windows. Tylko tutaj możemy uzyskać symbole debugowania, aby zobaczyć stos wywołań z nazwą funkcji flushCompleteAllPendingFlushRequests
.
Tutaj należy zainstalować najnowszy sterownik firmy Intel, aby go naprawić.
Najbardziej skomplikowanym przypadkiem użycia SYSTEMU jest użycie ACPI.sys w 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
jest to niezwykle trudne do debugowania. W temacie sysinternals wymieniłem kilka porad:
- upewnij się, że procesor się nie przegrzewa z powodu kurzu w wentylatorze
- zaktualizuj lub ponownie flashuj (ten sam) BIOS / UEFI
- załaduj domyślne ustawienia BIOS / UEFI
- upewnij się, że bateria nie jest uszkodzona, wyjmij baterię z notebooka lub wyłącz baterię w menedżerze urządzeń.
- zmień zworkę na dysku HDD, jeśli wymieniłeś napęd DVD / Blue-Ray na Caddy, aby zainstalować dysk SSD obok starego dysku twardego
W poniższej wersji demo sterownik Intel HD igdkmd64.sys
w wersji .4574 dla Intel HD 630 powoduje problem:
Rozwiązaniem jest aktualizacja do sterownika w wersji co najmniej .4590.
W poniższym przypadku użycie procesora przez proces SYSTEM jest spowodowane przez sterownik stdriverx64.sys
To wydaje się być sterownikiem przesyłania strumieniowego audio . Zaktualizuj to oprogramowanie / sterownik, jeśli widzisz to w WPA.
Jeśli zobaczysz sterownik o nazwie risdxc64.sys
callstack w systemie SYSTEM, który powoduje duże zużycie procesora, zaktualizuj sterownik kontrolera hosta Ricoh PCIe SDXC / MMC lub wyłącz czytnik kart SD w menedżerze urządzeń, jeśli żadna aktualizacja sterownika go nie naprawi.
Ten czytnik kart SD wydaje się być wbudowany w wiele urządzeń Lenovo.
Użytkownik @stevemidgley pokazał nowy problem większego użycia procesora Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Tutaj możesz zobaczyć sterownik UDE.sys powodujący to.
W centrum symboli
Widzę, że należy do sterownika modemu i danych PNP z programów śledzenia Fibocom L850-GL
(modemu LTE) jako możliwego urządzenia:
Rozwiązaniem jest wyłączenie modemu i urządzenia kompozytowego USB w menedżerze urządzeń.