Oggi mi sono trovato a lavorare con PC Windows talmente lento da essere inutilizzabile. Una veloce occhiata a Gestione attività (Task manager) è bastata a rilevare il colpevole: il processo System impiegava costantemente il 50-100% della CPU (anche senza programmi aperti): trattandosi di una macchina dual-core, questo significa che il processo System stava utilizzando al 100% un intero core (e, a volte, entrambi), impedendo agli altri programmi di funzionare correttamente. Armatomi di un tool chiamato Windows Performance Toolkit e di un po' di pazienza ho rintracciato la causa e corretto il difetto: questa è la procedura che ho seguito

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - system alto uso cpu spotlight

La lentezza del PC può essere attribuibile a molteplici cause, ma in questo articolo ci occuperemo di un problema specifico: l'alto utilizzo di CPU da parte del processo System. Prima di perdere tempo inutilmente con questa procedura, verificate che il computer sia effettivamente interessato da questo stesso difetto seguendo questo iter:

  1. aprite Gestione attività (Task manager) con la combinazione da tastiera Ctrl+Maiusc+Esc (oppure click con il pulsante destro del mouse sulla Barra delle applicazioni, qndi selezionare Gestione attività)
  2. Per Windows 10: spostatevi sulla scheda Dettagli (cliccare Più dettagli in basso se le tab non sono visualizzate)
  3. Per Windows 7: spostatevi sulla scheda Processi e cliccate il pulsante Mostra i processi di tutti gli utenti in basso
  4. Cliccate sulla colonna CPU di modo da ordinare in modo decrescente
  5. Sinceratevi che, effettivamente, il processo System stia occupando una percentuale elevata di CPU.

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - processo system cpu 50

Se così è, continuate a leggere ed imparerete come diagnosticare il problema. In caso contrario, il PC è lento per altri motivi e, molto probabilmente, questo articolo non vi sarà d'aiuto.

Passo 0: Malware, Windows Update ed altre operazioni preliminari

Prima di iniziare, assicuratevi che:

  1. La causa non sia un'infezione da malware » Leggi: Guida definitiva: procedura TurboLab.it per rimuovere in autonomia qualsiasi malware
  2. Il PC sia completamente aggiornato tramite Windows Update » Leggi: Cosa fare se gli aggiornamenti di Windows Update non funzionano e non si installano
  3. La RAM del computer non sia danneggiata » Leggi: Con Memtest86 verifichi se la memoria RAM del tuo computer funziona regolarmente
  4. Il disco fisso sia in buona salute » Leggi: Controllare lo stato di salute del disco fisso del computer
  5. La ventola della CPU e dell'alimentatore siano libere da polvere (è sicuramente un buon momento per soffiare tutto quanto con l'aria compressa) <-- non sottovalutate questo passaggio!
  6. Le opzioni di risparmio energia siano impostate in modo da massimizzare le prestazioni, non la durata della batteria

Provate anche a disconnettervi da Internet e disinstallare qualsiasi antimalware e quindi riavviare. Leggendo i vari forum emerge infatti che spesso il problema è attribuibile ai driver installati dalle suite di sicurezza.

Una volta che tutti questi controlli hanno avuto esito positivo ma il problema persiste, possiamo occuparci di diagnosticare il problema con gli strumenti di analisi dedicati.

Passo 1: Aggiornare .NET Framework

L'applicazione che utilizzeremo per diagnosticare il problema abbisogna di .NET Framework 4.5 o versione successiva.

Su Windows 10 è già fornito "di serie", mentre, se il PC impiega una generazione precedente, è necessario scaricare ed installare il pacchetto apposito. L'ultima versione al momento della pubblicazione del presente articolo è .NET Framework 4.6.2.

Passo 2: installare "Windows Performance Toolkit"

Lo strumento che andremo ad utilizzare per diagnosticare il problema si chiama Windows Performance Toolkit (WPT). Per ottenerlo, scarichiamo il pacchetto appropriato per il sistema operativo in uso:

[non è un errore: la versione per Windows 10 è compatibile anche con Windows 8.1, mentre quella per Windows 8.1 funziona correttamente con Windows 7 - non provate ad usare la versione per Windows 10 su un PC con Windows 7: il setup si conclude correttamente, ma poi i programmi non partono]

Una volta ottenuto il file:

  1. avviare l'installazione, scegliere il percorso, accettare i termini di licenza
  2. arrivati alla scelta dei componenti, deselezionare tutto tranne Windows Performance Toolkit

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - Windows Performance Toolkit

Nota: se il computer interessato dal problema è talmente lento da rendere lo scaricamento dei file un'operazione infinita, sappiate che il pacchetto che contiene Windows Performance Toolkit offre anche la possibilità di scaricare i file in locale per poi procedere con una classica e più veloce "installazione off-line": usate questa funzionalità per ottenere tutto quanto tramite un PC senza problemi, poi trasferite tutto quanto su quello problematico utilizzando una memoria USB.

Passo 3: Attivare DisablePagingExecutive

DisablePagingExecutive è il nome di una impostazione di registro che forza il gestore della memoria a conservare in RAM parti del kernel di Windows e i driver di periferica anche quando potrebbero essere scartati di modo da liberare risorse per i software applicativi. In passato è stato raccomandato come "trucco" per migliorare le prestazioni, quando in realtà sortisce l'effetto esattamente contrario quando il PC è prossimo ad esaurire la RAM disponibile.

In una situazione di debugging come questa, però, si rivela fondamentale: scaricare quindi questo archivio e aprire DisablePagingExecutive_ON.reg per impostare DisablePagingExecutive a 1.

Riavviare il PC per rendere effettiva la modifica.

Passo 4: chiudere (davvero) tutti i programmi, soprattutto l'antivirus

Chiudete ora quante più applicazioni possibile, anche quelle presenti nella Area di notifica (nell'angolo in basso a destra, vicino all'orologio). Se già non l'avete fatto, disconnettete il PC da Internet e disinstallate completamente l'antimalware. No, non sono le solite raccomandazioni da ignorare: fatelo davvero, di modo da minimizzare il volume di informazioni non-rilevanti che andremo ad analizzare (inoltre, come già detto, le suite di sicurezza sono le responsabili del problema in molti casi).

Mantenete aperto solamente il Task manager di Windows di modo da tener d'occhio il processo System ed assicurarci che continui ad utilizzare pesantemente la CPU durante l'analisi che svolgeremo al passo successivo

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - processo system cpu 50

Passo 5: registrare le attività

Utilizzeremo ora il primo componente di WPT per registrare le attività del PC. Assicuratevi di essere nella situazione in cui il processo System monopolizza la CPU (così non fosse, dovete riuscire a riprodurre il problema prima di proseguire), poi aprite il menu Start, digitate recorder per individuare il collegamento a Windows Performance Recorder. Una volta avviato il programma, cliccate More options per visualizzare la sezione inferiore della finestra.

Da qui, espandete ogni ramo ed assicuratevi che tutte le opzioni siano attive.

Sulla sezione di destra, mantenete le selezioni di default: General, Verbose, File

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - Windows Performance Recorder

Iniziate ora la cattura premendo Start. Dopo qualche istante, il cronometro Time inizierà a correre: il nostro obbiettivo è di catturare circa due minuti di dati durante i quali il processo System sta martellando la CPU.

Allo scopo, cercate di mantenere visibile anche il Task manager di Windows di fianco a Windows Performance Recorder e verificate visivamente che System continui a mostrare il comportamento problematico. Per intenderci: non è necessario che il consumo di System sia al 50% o 100% per tutta la durata della registrazione, ma più a lungo lo è, più "spiccherà" durante l'analisi successiva.

Dopo circa due minuti (non esagerate con la durata perché poi il file generato diviene ingestibile), premete Save, scegliete un percorso di salvataggio su disco a piacere e concludete con Save

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - windows performance recorder save etl

Windows Performance Recorder genera così un file con estensione .etl nel percorso indicato. L'operazione richiede qualche minuto, non fosse altro per la mole di informazioni da scrivere: siamo oltre 1 GB per ogni minuto registrato, ecco perché poco sopra raccomandavo di "non esagerare".

Potete ora chiudere il programma.

Passo 6: analizzare il file registrato

Passiamo ora ad analizzare il file .etl. Suggerimento: nella mia esperienza, il PC interessato dal problema era talmente lento da rendere l'operazione impossibile. Ho quindi copiato il file .etl su una memoria USB, installato Windows Performance Toolkit anche su un secondo computer perfettamente funzionante e svolto poi l'analisi da lì.

Un doppio click sul file .etl è sufficiente per aprire il documento da analizzare con il secondo programma del toolkit, ovvero Windows Performance Analyzer. Preparatevi ad una discreta attesa durante l'apertura.

A caricamento completato, fate doppio click sul grafico corrispondente alla voce Computation sulla sinistra.

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - windows performance analyzer 1

Dal menu a tendina nella striscia grigia in alto, assicuratevi che sia selezionato Utilization by Process, Stack

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - windows performance analyzer 2

A questo punto fate click sulla colonna Weight (in view) per fare in modo che i dati siano ordinati in modo decrescente. Così facendo, in cima alla lista troveremo i processi che hanno maggiormente utilizzato la CPU durante la registrazione. Ignoreremo sempre e comunque Idle (0): non è veramente un processo che consuma processore, ma il tempo in cui la CPU è stata scarica e inutilizzata.

Nello scenario in cui System impieghi costantemente il processore al 50%/100%, la relativa voce sarà piuttosto in alto, sempre indicata come System (4). Espandiamo ripetutamente il ramo.

Troveremo uno o più riferimenti al file ntoskrnl.exe, ma non è mai lui il responsabile diretto. Dovremo invece continuare ad espandere le voci associate a valori della colonna Weight (in view) particolarmente elevati.

Ad un certo punto emergerà il nome di un file (.sys o .dll, generalmente): nel mio caso, come si vede nell'immagine seguente, era usbhub.sys

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - windows performance analyzer 3

Passo 7: identificare il colpevole

Una volta scoperto il nome file responsabile, dobbiamo capire di quale componente faccia parte. Alcuni esempi fra i più frequenti sono:

  • usbhub.sys (era il responsabile nel mio caso), usbport.sys, usbxhci.sys, iusb3xhc.sys: controller USB
  • ACPI.sys: rilevazione e alimentazione dispositivi
  • bcmwl5.sys: radio Wi-Fi Broadcom
  • stdriverx64.sys, AudioEng.dll, RltkAPO64.dll, R4EEL64A.dll, R4EED64A.dll: audio Realtek HD
  • nvlddmkm.sys: scheda grafica NVIDIA GeForce
  • iastor.sys: gestore dischi per schede madri con chipset Intel
  • netwns64.sys: scheda di rete Wi-Fi Intel
  • atikmdag.sys: scheda grafica AMD Radeon
  • athwbx.sys, atw8x.sys: radio Wi-Fi Atheros
  • L1C62x64.sys: scheda Ethernet Atheros
  • rt64win7.sys: scheda Ethernet Realtek
  • rtsuvc.sys: webcam Realtek

In caso dall'analisi emergesse un nome di file differente, ad esempio nomefile.sys, generalmente basta cercare what is nomefile.sys su Google per scoprire di cosa si tratti.

Passo 8: Scoprire il modello

Una volta identificato il responsabile fra scheda video, Wi-Fi, Ethernet, Audio eccetera, dobbiamo scoprire esattamente quale modello sia presente sul computer

» Leggi: Conosci a fondo il tuo computer e tutte le sue componenti hardware

Passo 9: aggiornare i driver e risolvere il problema

Arrivati a questo punto abbiamo tutte le informazioni necessarie per risolvere il problema. Accediamo al sito di riferimento per la periferica che crea problemi e cerchiamo un driver aggiornato:

Per tutto il resto, affidiamoci nuovamente a Google per trovare il sito ufficiale e scaricare da lì i driver. Evitiamo però come la peste i tanti siti non-ufficiali: sebbene alcuni siano legittimi, un'infinità di altre pagine è tracimante di malware assortito.

In alternativa, un'altra risorsa da valutare sono le utility di ricerca e installazione automatica dei driver. La nostra prova ha evidenziato parecchie lacune ed aspetti altamente discutibili, ma come ultima spiaggia può valere la pena di tentare

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit

» Leggi: I programmi per la ricerca e l’aggiornamento dei driver del computer

In ultimissima battuta, quando tutto il resto fallisce e il problema non interessa una periferica di importanza critica, possiamo aprire Gestione dispositivi e disattivarla

  • con Windows 10 / 8.1 / 8: click con il destro del mouse sul pulsante Start, quindi selezionare la voce Gestione dispositivi
  • con Windows 7: aprire il menu Start, cliccare con il pulsante destro su Computer -> Proprietà, poi scegliere il collegamento Gestione dispositivi dalla colonna di sinistra

Una volta individuato il device, fare click con il pulsante destro del mouse e scegliere Disattiva

[risolto] Aiuto! problema processo System: alto uso CPU (50-100%) PC Windows lentissimo: come risolvere? Guida Windows Performance Toolkit - gestione periferiche disattiva driver dispositivo

Se ancora il problema persiste, sono rimaste solo due soluzioni:

  • aggiornare il BIOS della scheda madre
  • reinstallare il sistema operativo e sperare che il difetto fosse dovuto a qualche file corrotto o ad una particolare e specifica combinazione di fattori

Passo 10: Disattivare DisablePagingExecutive

Alla fine di tutto non dimentichiamo di riportare DisablePagingExecutive a 0. Nell'archivio scaricato in precedenza è presente anche il file DisablePagingExecutive_OFF (default).reg: aprirlo, confermare e riavviare il PC per rendere effettiva la modifica.

Riferimenti