Risolvi i problemi di utilizzo elevato della CPU mediante il processo "Sistema"


99

Ho notato che da qualche tempo il mio sistema si blocca ed è probabilmente causato dall'elevato utilizzo della CPU causato dal processo di sistema.

Tutte le applicazioni che sto eseguendo sono Skype, TeamSpeak e Chrome, quindi sicuramente non dovrebbe consumare quella quantità di CPU.

Puoi vedere il problema stesso ed eseguire i processi nello screenshot qui sotto:

inserisci qui la descrizione dell'immagine

A volte l'utilizzo della CPU sta raggiungendo il 90%, ma l'utilizzo medio è del 40-65%.

I parametri del mio PC:

  • Windows 8 (anteprima cliente)
  • Intel Core i3 - 2350M
  • 8 GB di RAM

Gradirei qualsiasi tentativo di aiuto! Saluti.

--AGGIORNARE--

Dato che l'utente di seguito ha pubblicato un'ottima risposta, ho notato che viene chiamato il processo che sta consumando più CPU nel sistema Arthurx.sys, un semplice google dice che si tratta di un driver TPLink (un adattatore wifi, che ho comprato come 2 settimane fa!) è stato installato da MSDN Windows, ma ha anche tentato di installare i driver dal CD allegato, ma non aiuta. Dall'avvio del sistema, utilizza solo il 5% della CPU, ma dopo 2-4 ore di lavoro sta crescendo e raggiungendo il 40-60% dell'utilizzo della CPU.

Nome del dispositivo: TPLink WN722N


5
Punto di ordine, se stai eseguendo l'anteprima del cliente, tutto non è aggiornato ... Stai eseguendo l'anteprima del cliente.
Everett

@Everett Sì, probabilmente hai ragione ... ma comunque non dovrebbe accadere, anche se si tratta di un'anteprima del cliente (o del rilascio).
Scott

4
@Scott Sì, questo genere di cose dovrebbe accadere in un'anteprima del cliente. Voglio dire, ovviamente è meglio se quei bug non esistono in primo luogo, ma questa è una delle cose che un'anteprima è destinata a fare. È una possibilità per gli utenti di vedere le nuove funzionalità e gli elementi dell'interfaccia utente un po 'in anticipo e verificare la compatibilità delle app, ma anche un'opportunità per i team di sviluppo di ottenere feedback e trovare bug da un pubblico più ampio. Il sistema centrale non è ancora pronto per l'uso in produzione . Non è inteso per l'uso come sistema principale, perché non è stato completamente eseguito o sottoposto a debug. Se lo fosse, andrebbero con RTM.
Joel Coehoorn,

1
usa xperf per rintracciarlo. Ma come altri utenti ti hanno detto, smetti di usare il CP. Tutta la versione pre-release scadrà tra 2 settimane!
magicandre1981,

1
L'unico modo in cui possiamo aiutarti è se Verifica che questo problema esista nella versione RTM di Windows 8. Non puoi aspettarti che qualcuno ti aiuti con problemi che esistono in una versione di Anteprima. Sono andato avanti e ho aggiornato i tag per riflettere l'utilizzo di una versione di anteprima.
Ramhound,

Risposte:


91

Ciò può essere causato da un driver difettoso o da un altro modulo caricato dal sistema. Per guardare all'interno del processo di sistema, è possibile utilizzare uno strumento come Process Explorer .

Scaricalo ed eseguilo, quindi seleziona il processo di sistema, fai clic con il pulsante destro del mouse e seleziona Proprietà:

inserisci qui la descrizione dell'immagine

Passa alla scheda Discussioni (ignora la finestra di dialogo che menziona i simboli):

inserisci qui la descrizione dell'immagine

Questo mostrerà quale file sta usando l'eccessivo utilizzo della CPU, da cui puoi quindi tentare di diagnosticare.

Come altri hanno già detto nei commenti, devi davvero allontanarti dalle versioni di anteprima il prima possibile!


Grazie per la tua risposta. Si prega di consultare la mia domanda aggiornata.
Scott

2
@Scott Ho notato che stai aggiornando ora; se dopo questo problema non viene ancora risolto, TPLink dispone di un driver beta di Windows 8 sul proprio sito disponibile che può aiutare. Può essere trovato qui: tp-link.com/en/support/download/…
Graham Wager

2
Sembra che risdxc64.sys sia un solito sospettato con i laptop Thinkpad che è il driver per il lettore di schede, vedi ad esempio qui: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/… - Ho risolto reinstallando l'ultimo uno su vittoria 10
patrickf

Ho avuto un problema simile in Windows 10. Per me era avc3.sys che utilizzava molta CPU. Risulta essere una parte di Bitdefender Antivirus Free.
Bruno,

2
@Legends hai usato lo strumento sbagliato. ProcExp mostra uno shapshot che non è molto utile. Ho scritto una risposta su Windows Performance Toolkit per mostrarlo in dettaglio come analizzare l'utilizzo della cpu
magicandre1981

90

Per diagnosticare i problemi di utilizzo della CPU, è necessario utilizzare Event Tracing per Windows (ETW) per acquisire dati / profilo di campionamento della CPU.

Per acquisire i dati, installare Windows Performance Toolkit , che fa parte di Windows SDK .

Windows 10 WPT può essere utilizzato su Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 e Windows 10 / Server 2016. Se si utilizza ancora Windows 7, utilizzare SDK / WPT con Build 15086 .

inserisci qui la descrizione dell'immagine (tutte le altre voci possono essere deselezionate)

Ora esegui WPRUI.exe, seleziona First Level, in Risorsa seleziona utilizzo CPU e fai clic su Avvia .

inserisci qui la descrizione dell'immagine

Ora acquisisci 1 minuto di utilizzo della CPU. Dopo 1 minuto, fai clic su Salva .

Ora analizza il file ETL generato con Windows Performance Analyzer trascinando il CPU Usage (sampled)grafico analysis panesull'ordine e ordinando le colonne come vedi nell'immagine:

inserisci qui la descrizione dell'immagine

All'interno di WPA, carica i simboli di debug ed espandi lo stack del processo SYSTEM. In questa demo, l'utilizzo della CPU proviene dal driver nVIDIA.


Nella seguente demo, l'utilizzo della CPU proviene dal driver NIC Realtek:

inserisci qui la descrizione dell'immagine


Quando vedi chiamate come ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , questo significa che Driver Verifier è abilitato. Ciò inoltre danneggia molto le prestazioni e causa un elevato utilizzo del SISTEMA. Disabilita Driver Verifier e riavvia.

inserisci qui la descrizione dell'immagine


In questa demo, il driver iai2ce.sys( driver Intel Serial IO GPIO Controller) lo provoca:

inserisci qui la descrizione dell'immagine


In questo esempio, l'utilizzo della CPU proviene dal file rtsuvc.sysche sembra essere il fileRealtek UVC webcam Driver

inserisci qui la descrizione dell'immagine


Questa demo mostra quel driver Bitdefender ignis.sys

inserisci qui la descrizione dell'immagine


Nell'esempio seguente, l'utilizzo della CPU è determinato dal driver di rete broadcom bcmwl664.sys

inserisci qui la descrizione dell'immagine


Quando vedi ntoskrnl.exe!MiZeroWorkerPagescome causa, è più complicato. Ciò significa che la funzione del kernel che azzera la memoria prima che possa essere riutilizzata provoca un elevato utilizzo della CPU:

inserisci qui la descrizione dell'immagine

Non esiste un modo reale per rilevare quale processo lo causa, ma so che Chrome può causarlo se hai l'accelerazione hardware abilitata in Chrome. Quindi, se vedi questo e usi Chrome, disattiva l'accelerazione hardware in Chrome.


Quando vedete quei ntoskrnl.exe! RtlpGenericRandomPatternWorker, NTOSKRNL.EXE! RtlpTestMemoryRandomUp chiamate

inserisci qui la descrizione dell'immagine

l'utilizzo della CPU proviene dal kernel per testare la memoria per problemi (memtest). Questo utilizzo viene attivato tramite l'attività di manutenzione inattiva di Windows 8.1 / 10. È possibile utilizzare l'Utilità di pianificazione per disabilitare l'attività inattiva.

inserisci qui la descrizione dell'immagine

In Windows 10, l'attività si chiama RunFullMemoryDiagnostics in Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .

inserisci qui la descrizione dell'immagine


In questo caso, l'utilizzo della CPU sembra provenire dalla Data Deduplicationfunzionalità ( dedup.sys!DdpPostCreate) di Windows Server:

inserisci qui la descrizione dell'immagine


In questa demo, l'utilizzo della CPU è causato dal driver della scheda WIFI athrx.sys

inserisci qui la descrizione dell'immagine

Cerca un aggiornamento del driver se lo vedi.


Nella seguente demo è coinvolto un driver citrix:

inserisci qui la descrizione dell'immagine

Quindi contatta il tuo IT per come risolvere i problemi Citrix.


In questa demo, la funzione usbhub.sys!UsbhPortRecycleprovoca l'utilizzo della CPU:

inserisci qui la descrizione dell'immagine

Cambiare le porte USB 2.0 alla velocità 1.1 o collegare le unità USB ad altre porte USB 2.0 ha aiutato alcuni utenti.


In questo caso, una piccola quantità di utilizzo del SISTEMA viene dal driver Acronis tdrpm251.sys:

inserisci qui la descrizione dell'immagine


In questa demo, l'utilizzo della CPU ntoskrnl.exe!KeAcquireSpinLockRaiseToDpce ntoskrnl.exe!KeReleaseSpinLock.

inserisci qui la descrizione dell'immagine

quindi un driver sta usando SpinLocks molto pesantemente. Disabilita alcuni dispositivi / driver fino a quando non ne vedi uno che lo causa.


In questo caso, l'utilizzo della CPU è causato dal driver L1C62x64.sys

inserisci qui la descrizione dell'immagine

Questo è il qualcomm atheros AR8171/8175 PCI-E gigabit Ethernetdriver Quindi aggiorna il driver se lo vedi nello stack.


Qui, l'utilizzo della CPU proviene dalla scansione del file host (netbt.sys! DelayedScanLmHostFile)

inserisci qui la descrizione dell'immagine

assicurarsi che il file hosts non sia troppo grande per evitare questo utilizzo.


In questo caso, l'utilizzo della CPU proviene SRTSP64.SYSda Symantec.

inserisci qui la descrizione dell'immagine

Aggiorna il tuo prodotto Symantec usato all'ultima versione.


Qui, l'utilizzo della CPU proviene dal driver GPU AMD (atikmdag.sys)

inserisci qui la descrizione dell'immagine

se vedi questo, vai al sito AMD e ottieni l'ultimo driver per la tua scheda AMD.


Qui, i driver TMXPFlt.sys e VsapiNt.sys causano un elevato utilizzo della CPU.

inserisci qui la descrizione dell'immagine

Da quello che vedo, quei file fanno parte della suite Trend Micro AV. Aggiorna lo strumento o rimuovilo.


In questo esempio, l'utilizzo della CPU deriva dalla funzione ntoskrnl.exe!MmGetPageFileInformation

inserisci qui la descrizione dell'immagine

Questa funzione ottiene informazioni sul file di paging.

Descrizione della routine: questa routine restituisce informazioni sui file di paging attualmente attivi.

Disabilita il file di paging, riavvia e abilitalo di nuovo e vedi se questo lo risolve. Inoltre, la rimozione dei servizi Intel (ad es. Il servizio HECI di Intel Content Protection) sembra risolverlo per un utente .


Qui puoi vedere che il driver Netwtw04.sys( driver Intel Wifi) chiama la funzione flushCompleteAllPendingFlushRequestse questo provoca un elevato utilizzo della CPU.

inserisci qui la descrizione dell'immagine

Poiché i simboli di debug vengono caricati, viene utilizzato il driver della posta in arrivo di Windows. Solo qui possiamo ottenere simboli di debug per vedere il callstack con il nome della funzione flushCompleteAllPendingFlushRequests.

Qui, è necessario installare il driver più recente di Intel per risolverlo.


Il caso più complicato di utilizzo del SISTEMA è l'utilizzo di ACPI.sys nel 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

questo è estremamente difficile da eseguire il debug. In un argomento sysinternals , ho elencato alcuni consigli:

  • assicurarsi che la CPU non si surriscaldi a causa della polvere nella ventola della CPU
  • aggiornare o ripetere il flashing dello (stesso) BIOS / UEFI
  • carica le impostazioni BIOS / UEFI predefinite
  • assicurarsi che la batteria non sia danneggiata, rimuovere la batteria dal notebook o disabilitare la batteria in Gestione dispositivi.
  • cambia jumper sul caddy dell'HDD se hai sostituito il DVD / Blue-Ray Drive con un Caddy per installare un SSD vicino al tuo vecchio HDD

inserisci qui la descrizione dell'immagine


Nella seguente demo, il driver Intel HD igdkmd64.sysnella versione .4574 per Intel HD 630 causa il problema:

inserisci qui la descrizione dell'immagine

La soluzione è aggiornare al driver con una versione di almeno .4590.


Nel seguente caso, l'utilizzo della CPU del processo SYSTEM è causato dal driver stdriverx64.sys

inserisci qui la descrizione dell'immagine

Questo sembra essere un driver di streaming audio . Quindi aggiorna questo software / driver se lo vedi in WPA.


Se vedi un driver chiamato risdxc64.sysnel callstack di SYSTEM che causa un elevato utilizzo della CPU, aggiorna il driver Ricoh PCIe SDXC / MMC Host Controller o disabilita il lettore di schede SD in Gestione periferiche se nessun aggiornamento di driver lo risolve.

inserisci qui la descrizione dell'immagine

Questo lettore di schede SD sembra essere integrato in molti dispositivi Lenovo.


L'utente @stevemidgley ha mostrato un nuovo problema di maggiore utilizzo della CPU con Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk

inserisci qui la descrizione dell'immagine

Qui puoi vedere un driver UDE.sys che lo causa.

Nell'hub dei simboli

inserisci qui la descrizione dell'immagine

Vedo che appartiene al driver del modem e ai dati PNP degli spettacoli di traccia Fibocom L850-GL(modem LTE) come dispositivo possibile:

inserisci qui la descrizione dell'immagine

E la soluzione è disabilitare il modem e il dispositivo composito USB in Gestione dispositivi.



6
Bello!!! +1 .... Per shizzle
Pimp Juice IT

1
@stevemidgley FxUsbPipeRequestWorkItemThunk elabora i dati. Espandi di più lo stack. Condividi anche il file ETL. Il dispositivo composito USB può essere un driver per smartphone quando colleghi i telefoni per trasferire i dati,
magicandre1981

1
@stevemidgley abilita il dispositivo USB e acquisisce una traccia, ho bisogno di un file ETL per vedere maggiori dettagli.
magicandre1981

1
@stevemidgley che sono i dati USB grezzi, ho bisogno della traccia di utilizzo della CPU traccia dalla mia risposta sopra.
magicandre1981,

1
@stevemidgley ok, sembra che il driver UDE.sys sia la causa. E da quello che vedo appartiene a Fibocom L850-GL che è il tuo modulo LTE.
magicandre1981,

4

Una nota sul caricamento dei simboli di debug da aggiungere all'ottima risposta di magicandre1981 : se il caricamento dei simboli in Windows Performance Analyzer funziona correttamente, dopo aver selezionato Traccia> Carica simboli dovresti vedere una barra di avanzamento nella parte superiore con Caricamento simboli che mostra i nomi dei file accanto e prende diversi minuti per il completamento. Inoltre, dovresti vedere molte righe come la seguente nella Console di diagnostica:

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

Se non vedi nessuno di questi, il caricamento dei simboli di debug probabilmente non ha funzionato e non sarai in grado di interpretare correttamente la tua traccia.

Nel mio caso inizialmente il caricamento dei simboli di debug non ha funzionato. L'ho risolto seguendo queste istruzioni :

  1. Scopri se stai utilizzando la versione x86 o x64 di Windows Performance Toolkit.

    Questo è facile su build x86 di Windows. Su build x64, è possibile controllare Task Manager per il tag * 32. Se non è lì, allora stai eseguendo la versione x64.

    Si noti che WPT si installa sempre su Program Files (x86) indipendentemente dall'architettura.

  2. Copiare i file dbghelp.dlle symsrv.dlldalla directory di debugger corretta nella directory Windows Performance Toolkit. Sul mio sistema, le directory rilevanti sono:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 e C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Riavviare Windows Performance Analyzer in modo che venga prelevata la versione corretta di dbghelp.dll.


2
dovresti aggiungere questo alla mia risposta come una modifica. questa non è una vera risposta
magicandre1981,

0

Innanzitutto, la recensione e le informazioni fornite sono molto istruttive, tuttavia di solito è possibile capirlo con molta meno intelligenza! Ho semplicemente usato MSCOFIG.EXE e una ricerca binaria per isolare il servizio offensivo. Ho riscontrato che molti problemi come questo sono causati dal software Intel. Comincio disabilitando qualsiasi servizio che non abbia un nome di società. Quindi inizio ai servizi Intel. Quindi la ricerca binaria completa. Di solito ci vuole un'ora al massimo per risolvere il problema nel PC di qualcuno. Intel non è mai stata una buona compagnia di computer e il loro software lo dimostra. Ammettiamolo, l'architettura Pentium aveva un decennio quando è stato rilasciato. Chi avrebbe costruito un'architettura informatica con memoria paginata ai tempi di VAX? Bene, non ti annoierò con la storia. Non che io sia fan di AMD o Microsoft. Forse un giorno noi '


Ti rendi conto che il VAX utilizza memoria paginata, giusto? E perché non dovresti usare la memoria paginata oggi?
Jamie Hanrahan,

-1

Ho avuto lo stesso problema, è scomparso quando ho rimosso uno dei moduli RAM. Sembra che fosse difettoso. Esecuzione di Windows 7, a 32 bit.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.