2013-01-03 03:52:20 +0000 2013-01-03 03:52:20 +0000
108
108

Rozwiązywanie problemów Wysokie zużycie procesora przez proces "systemowy"

Zauważyłem, że od pewnego czasu mój system jest zamrożony i prawdopodobnie jest to spowodowane wysokim zużyciem procesora, które jest spowodowane przez proces systemowy.

Wszystkie aplikacje, które uruchamiam to Skype, TeamSpeak i Chrome, więc zdecydowanie nie powinien zjadać takiej ilości procesora.

Sam problem i uruchomione procesy możesz zobaczyć na zrzucie ekranu poniżej:

Czasami zużycie procesora dochodzi do 90%, ale średnie zużycie jest jak 40-65%.

Parametry mojego komputera:

  • Windows 8 (podgląd klienta)
  • Intel Core i3 - 2350M
  • 8 GB RAM

Będę wdzięczny za każdą próbę pomocy! Uwagi.

–UPDATE–

Ponieważ użytkownik poniżej zamieścił świetną odpowiedź, zauważyłem, że proces, który zjada najwięcej CPU w systemie nazywa się Arthurx.sys, prosty google mówi, że jest to sterownik TPLink (karta wifi, kupiłem jak 2 tygodnie temu!) sterowniki zostały zainstalowane z Windows MSDN, ale również próbował zainstalować sterowniki z załączonej płyty CD, ale to nie pomaga. Od startu systemu zużywa on tylko 5% mocy procesora, ale po 2-4 godzinach pracy rośnie i osiąga 40-60% mocy procesora.

Nazwa urządzenia: TPLink WN722N

Odpowiedzi (5)

107
107
107
2017-01-06 20:34:09 +0000

Aby zdiagnozować problemy z użytkowaniem procesora, należy użyć Event Tracing for Windows (ETW), aby przechwycić dane próbkowania procesora / Profil.

Aby przechwycić dane, zainstaluj Windows Performance Toolkit , który jest częścią Windows SDK .

System Windows 10 WPT może być używany w systemach Windows 8/Server 2012, Windows 8.1/Server 2012R2 i Windows 10/Server 2016. Jeśli nadal używasz Windows 7, użyj SDK/WPT z Build 15086 .

(wszystkie inne wpisy mogą być odznaczone)

Uruchom teraz WPRUI.exe, wybierz First Level, w sekcji Resource select CPU use i kliknij na start.

Przechwyć teraz 1 minutę użycia CPU. Po 1 minucie, kliknij na Zapisz.

Teraz przeanalizuj wygenerowany plik ETL z Windows Performance Analyzer przeciągając i upuszczając wykres CPU Usage (sampled) na analysis pane i porządkując kolumny jak na rysunku:

Wewnątrz WPA, załaduj symbole debugów i rozszerz stos procesu SYSTEM. W tym demo, wykorzystanie procesora pochodzi ze sterownika nVIDIA.

  • *

W poniższym demo, wykorzystanie procesora pochodzi ze sterownika Realtek NIC:


Gdy zobaczysz połączenia jak ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe!Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion, to znaczy, że masz włączony Driver Verifier. To również bardzo boli wydajność i powoduje wysokie zużycie SYSTEMU. Disable Driver Verifier i zrestartować.

  • *

W tym demo sterownik iai2ce.sys (sterownik Intel Serial IO GPIO Controller) powoduje to:

  • *

W tym przykładzie wykorzystanie procesora pochodzi z pliku rtsuvc.sys, który wydaje się być Realtek UVC webcam Driver

  • *

W tym przykładzie demonstracja pokazuje, że sterownik Bitdefender ignis.sys

  • *

W poniższym przykładzie, Użycie procesora jest spowolnione przez sterownik sieciowy broadcom bcmwl664.sys

  • *

Gdy widzisz ntoskrnl.exe!MiZeroWorkerPages jako przyczynę, jest to trudniejsze. Oznacza to, że funkcja jądra, która zeruje pamięć, zanim będzie mogła być ponownie użyta, powoduje wysokie zużycie procesora:

Nie ma prawdziwego sposobu na wykrycie, który proces to powoduje, ale wiem, że Chrome może to spowodować, jeśli masz włączoną akcelerację sprzętową w Chrome. Więc jeśli widzisz to i używasz Chrome, wyłączyć akcelerację sprzętową w Chrome.

  • *

Gdy zobaczysz te ntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUp wzywa

wykorzystanie procesora pochodzi z jądra do testowania pamięci na problemy (memtest). Użycie to jest wywoływane przez jałowe zadanie konserwacyjne Windows 8.1/10. Możesz użyć Task Scheduler do wyłączenia zadania w stanie bezczynności.

W systemie Windows 10, zadanie nazywa się RunFullMemoryDiagnostics pod Microsoft > Windows > MemoryDiagnostic > RunFullMemoryDiagnostic.

  • *

W tym przypadku wykorzystanie procesora wydaje się pochodzić z funkcji Data Deduplication serwera Windows:

  • *

W tym demo wykorzystanie procesora jest spowodowane przez sterownik karty WIFI dedup.sys!DdpPostCreate

Wyszukaj aktualizację sterownika, jeśli to widzisz.

  • *

W poniższym demo sterownik Citrix'a jest zaangażowany:

Skontaktuj się z działem IT, aby dowiedzieć się, jak rozwiązać problemy Citrix'a.

  • *

W tym demo funkcja athrx.sys powoduje użycie procesora:

Zmiana prędkości portów USB2.0 na 1.1 lub podłączenie pamięci USB do innego USB 2. Porty 0 są pomocne dla niektórych użytkowników.

  • *

W tym przypadku, małe zużycie SYSTEMU pochodzi ze sterownika Acronis usbhub.sys!UsbhPortRecycle:

  • *

W tym demo, CPU używa tdrpm251.sys i ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc.

więc sterownik używa SpinLocks bardzo mocno. Wyłącz niektóre urządzenia/drivery dopóki nie zobaczysz jednego, który to powoduje.

  • *

W tym przypadku, użycie procesora jest spowodowane przez sterownik ntoskrnl.exe!KeReleaseSpinLock

To jest sterownik L1C62x64.sys. Więc zaktualizuj sterownik, jeśli widzisz go w stosie.

  • *

Tutaj, zużycie procesora pochodzi ze skanowania pliku hosta (netbt.sys!DelayedScanLmHostFile)

Upewnij się, że plik hosta nie jest zbyt duży, aby uniknąć tego użycia.

  • *

W tym przypadku, użycie procesora pochodzi z qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet z symantec.

Zaktualizuj swój używany produkt symantec do najnowszej wersji.

  • *

W tym przypadku wykorzystanie CPU pochodzi ze sterownika procesora graficznego AMD (atikmdag.sys)

Jeśli to zobaczysz, przejdź na stronę firmy AMD i zdobądź najnowszy sterownik dla karty AMD.

  • *

Tutaj, sterowniki TMXPFlt.sys i VsapiNt.sys powodują wysokie zużycie procesora.

Z tego co widzę, te pliki są częścią pakietu Trend Micro AV. Zaktualizuj narzędzie lub usuń je.

  • *

W tym przykładzie wykorzystanie procesora pochodzi z funkcji SRTSP64.SYS

Ta funkcja pobiera informacje o pliku pagefile.

Rutyna Opis: Ta procedura zwraca informacje o aktualnie aktywnych plikach stron.

Disable the pagefile, reboot and enable it again and see if this fixes it. Również usunięcie usług Intela (np. Intel Content Protection HECI Service) wydaje się naprawiać to dla użytkownika .

  • *

Tutaj widać, że sterownik ntoskrnl.exe!MmGetPageFileInformation (sterownik Intel Wifi) wywołuje funkcję Netwtw04.sys i to powoduje wysokie zużycie procesora.

Ponieważ symbole debugów są ładowane, używany jest sterownik skrzynki odbiorczej Windows. Tylko tutaj możemy pobrać symbole debugowania, aby zobaczyć stanik z nazwą funkcji flushCompleteAllPendingFlushRequests.

W tym miejscu powinieneś zainstalować najnowszy sterownik Intela , aby to naprawić.

  • *

Najbardziej skomplikowanym przypadkiem użycia SYSTEMU jest użycie ACPI.sys w stocku wywoławczym:

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 bardzo trudne do debugowania. W tematyce sysinternalnej wymieniłem kilka rad:

  • upewnij się, że CPU nie przegrzewa się z powodu kurzu w wentylatorze procesora
  • zaktualizuj lub ponownie uruchom 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 caddy dysku twardego jeśli wymieniłeś napęd DVD/Blue-Ray na Caddy aby zainstalować SSD obok starego dysku twardego

W poniższym demo, sterownik Intel HD flushCompleteAllPendingFlushRequests w wersji .4574 dla Intel HD 630 powoduje problem:

Rozwiązanie polega na aktualizacji sterownika z wersją co najmniej . 4590.

  • *

W poniższym przypadku, użycie procesora SYSTEMU jest spowodowane przez sterownik igdkmd64.sys

Wydaje się, że jest to sterownik strumieniowego przesyłania dźwięku . Więc zaktualizuj to oprogramowanie/sterownik, jeśli widzisz to w WPA.

  • *

Jeśli widzisz sterownik o nazwie stdriverx64.sys w callstacku SYSTEM, który powoduje wysokie zużycie procesora, zaktualizuj Ricoh PCIe SDXC/MMC Host Controller sterownika lub wyłącz czytnik kart SD w menedżerze urządzeń, jeśli żadna aktualizacja sterownika tego nie naprawia.

Ten czytnik kart SD wydaje się być wbudowany w wiele urządzeń Lenovo.

  • *

The user @stevemidgley showed a new issue of higher CPU usage with risdxc64.sys

Here you can see a driver UDE.sys causing it.

W symbolu hubu

Widzę, że należy on do sterownika Modem i dane PNP śladu pokazują Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk (LTE Modem) jako możliwe urządzenie:

I rozwiązanie polega na wyłączeniu modemu i urządzenia kompozytowego USB w menedżerze urządzeń.

  • *
93
93
93
2013-01-03 13:13:47 +0000

Może to być spowodowane przez wadliwy sterownik lub inny moduł załadowany przez system. Aby zajrzeć do wnętrza procesu systemowego, możesz użyć narzędzia takiego jak Process Explorer .

Pobierz i uruchom go, następnie wybierz proces systemowy, kliknij prawym przyciskiem myszy i wybierz Właściwości:

Przełącz na zakładkę Wątki (zignoruj okno dialogowe zawierające symbole):

Pokaże to, który plik wykorzystuje nadmierne zużycie procesora, z którego możesz następnie spróbować go zdiagnozować.

Jak jednak powiedzieli inni w komentarzach, naprawdę musisz odejść od wersji Preview tak szybko jak to możliwe!

4
4
4
2017-07-13 17:19:04 +0000

Uwaga na temat ładowania symboli do debugowania, aby dodać do magicandre1981’s excellent answer : jeśli ładowanie symboli w Windows Performance Analyzer działa poprawnie, po zaznaczeniu Trace > Load Symbols powinieneś zobaczyć pasek postępu na górze z Loading symbols, który pokazuje nazwy plików obok niego i zajmuje kilka minut, aby zakończyć. Powinieneś także zobaczyć wiele linii, jak poniżej w Konsoli Diagnostycznej:

SYMSRV: File: Accessibility.ni.pdb

SYMSRV: Notifies the client application that a proxy has been detected.
SYMSRV: Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV: Successfully connected to the Server.
SYMSRV: Sending the information request to the server.
SYMSRV: Successfully sent the information request to the server.
SYMSRV: Waiting for the server to respond to a request.
SYMSRV: Successfully received a response from the server.
SYMSRV: Closing the connection to the Server.
SYMSRV: Successfully closed the connection to the Server.
SYMSRV: Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

Jeśli nie widzisz żadnej z nich, wczytywanie symboli debugów prawdopodobnie nie zadziałało i nie będziesz w stanie poprawnie zinterpretować swojego śladu.

W moim przypadku początkowe wczytywanie symboli debugów nie zadziałało. Naprawiłem to stosując się do tych instrukcji :

  1. Sprawdź, czy używasz wersji x86 lub x64 Windows Performance Toolkit.

  2. Skopiuj pliki dbghelp.dll i symsrv.dll z odpowiedniego katalogu debuggera do katalogu Windows Performance Toolkit. W moim systemie odpowiednie katalogi to:

  3. Uruchom ponownie Windows Performance Analyzer, aby pobrać prawidłową wersję dbghelp.dll.

-1
-1
-1
2014-12-27 21:50:04 +0000

Miałem ten sam problem, zniknął, gdy usunąłem jeden z modułów pamięci RAM. Wygląda na to, że był wadliwy. Uruchamiam Windows 7, 32-bitowy.

-1
-1
-1
2018-02-11 21:19:31 +0000

Po pierwsze, recenzja i dostarczone informacje są bardzo pouczające, jednak zazwyczaj można to zrozumieć z dużo mniejszą inteligencją! Po prostu użyłem MSCOFIG.EXE i wyszukiwania binarnego, aby odizolować obraźliwe usługi. Stwierdziłem, że większość takich problemów jest spowodowanych przez oprogramowanie Intel. Zaczynam od wyłączenia każdej usługi, która nie ma nazwy firmy. Następnie zaczynam od usług Intela. Następnie pełne wyszukiwanie binarne. Zazwyczaj naprawienie problemu na czyimś komputerze trwa najwyżej godzinę. Intel nigdy nie był dobrą firmą komputerową, a ich oprogramowanie to pokazuje. Spójrzmy prawdzie w oczy, że architektura Pentium miała dekadę, kiedy została wydana. Kto zbudowałby architekturę komputerową z pamięcią stronicową w czasach VAX? Cóż, nie będę cię zanudzał historią. Nie żebym też był fanem AMD czy Microsoftu. Może pewnego dnia wrócimy do budowania prawdziwych komputerów.