Condividi tramite


Linee guida per la risoluzione dei problemi di utilizzo elevato della CPU

Questo articolo illustra come identificare la causa di un utilizzo elevato della CPU. Tenere presente che è possibile prevedere un aumento dell'utilizzo della CPU come processo o come richiesta da parte di un'applicazione. Tuttavia, se si nota in modo coerente che l'utilizzo della CPU rimanga a un livello elevato (80% o superiore) per periodi prolungati, le prestazioni del sistema o dell'applicazione subiranno problemi. Per questo motivo, è importante comprendere la causa dell'utilizzo elevato della CPU per poter risolvere il problema, se possibile.

Strumenti per la risoluzione dei problemi

Gestione attività

Usare Gestione attività per visualizzare l'utilizzo della CPU per identificare il processo o l'applicazione che causa un utilizzo elevato della CPU:

  1. Selezionare Start, immettere l'attività e quindi selezionare Gestione attività nei risultati della ricerca.
  2. Per impostazione predefinita, la finestra Gestione attività è la scheda Processi . Se viene visualizzato un singolo elenco di nomi di processo nella colonna Nome , è possibile espandere qualsiasi istanza di processi raggruppati.
  3. Selezionare l'intestazione di colonna CPU per ordinare l'elenco in base all'utilizzo della CPU. Assicurarsi che la freccia visualizzata nell'intestazione punti verso il basso per ordinare i dati dal consumo più alto al più basso della CPU.

Se il processo può essere arrestato o un servizio correlato può essere disabilitato, arrestare il processo o il servizio. Controllare quindi se questo attenua il problema.

Monitoraggio risorse

Usare Monitoraggio risorse per visualizzare l'utilizzo della CPU:

  1. Selezionare Start, immettere resmon e quindi selezionare Monitoraggio risorse nei risultati della ricerca.

  2. Nella finestra Monitoraggio risorse selezionare la scheda CPU.

    Nota

    Potrebbe essere necessario ingrandire la finestra per visualizzare tutti i dati.

  3. Selezionare l'intestazione di colonna Media CPU per ordinare l'elenco in base all'utilizzo complessivo della CPU. Assicurarsi che la freccia visualizzata nell'intestazione punti verso il basso per ordinare i dati dal consumo più alto al più basso della CPU.

Se uno dei processi mostra un tasso di consumo superiore al previsto per l'ambiente, considerare prima questi processi principali quando si tenta di determinare la causa del problema.

Esplora processi

Lo strumento Esplora processi offre una panoramica completa sui processi attualmente in esecuzione nel computer, inclusi i dettagli sugli utenti che hanno richiamato i processi e sulla quantità totale di risorse di sistema che utilizzano.

Se si vuole verificare un processo correlato al sistema operativo (ad esempio, Sistema), seguire questa procedura:

  1. Eseguire Esplora processi come amministratore.
  2. Fare clic con il pulsante destro del mouse sul processo, scegliere Proprietà e quindi selezionare la scheda Thread .
  3. Selezionare il thread che utilizza un utilizzo elevato della CPU e quindi selezionare Stack per visualizzare le funzioni in esecuzione.

Nota

Per ottenere un risultato migliore delle informazioni sullo stack, configurare i simboli in Esplora processi. A tale scopo, effettuare i passaggi seguenti:

  1. Installare gli strumenti di debug per Windows.
  2. Eseguire Esplora processi come amministratore.
  3. Selezionare il menu Opzioni e quindi selezionare Configura simboli.
  4. Modificare il percorso Dbghelp.dll in C:\Programmi (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll e quindi selezionare OK.

Scenari di risoluzione dei problemi comuni

Questa sezione presenta gli scenari di processi diversi che usano un utilizzo elevato della CPU.

Processo Microsoft denominato in modo univoco

  1. Raccogliere un log di Monitoraggio prestazioni. Usare un intervallo di snapshot da 1 secondo a 5 secondi.
  2. Raccogliere un log di Windows Performance Recorder (WPR) mentre si verifica un utilizzo elevato della CPU.

    Nota

    Non consentire l'esecuzione di questo log per molto tempo perché il file cresce molto rapidamente. È necessario eseguire il log solo per alcuni minuti (da tre a cinque) per acquisire l'utilizzo elevato della CPU.

  3. Eseguire lo strumento ProcDump due volte durante l'utilizzo elevato della CPU segnalato. Spaziare le esecuzioni di alcuni minuti.

Processo Svchost

Se un processo svchost utilizza un utilizzo elevato della CPU e il processo svchost contiene più di un servizio, è necessario interrompere l'esecuzione di ogni servizio nel proprio processo svchost per determinare quale servizio causa un utilizzo elevato della CPU. A tale scopo, effettuare i passaggi seguenti:

  1. Aprire una finestra del prompt dei comandi con privilegi elevati

  2. Suddividere ogni servizio nel proprio processo svchost se si tratta di un processo svchost condiviso. A tale scopo, usare il comando seguente:

    sc config <service name> type= own
    

    Nota

    In questo comando sostituire <il nome> del servizio con il nome effettivo del servizio.

  3. Riavvia il servizio

  4. Al prompt dei comandi eseguire tasklist /svc per verificare che il servizio sia in esecuzione nel proprio processo svchost.

    Importante

    Dopo aver risolto il problema, è necessario tornare al passaggio 2 e ripristinare ciò che è stato fatto.

    A tale scopo, sostituire sc config <service name> type= own con sc config <service name> type= share nel comando . Riavviare quindi il servizio.

  5. Dopo aver interrotto ogni servizio nel proprio processo svchost, è ora necessario identificare il servizio che stava determinando l'utilizzo della CPU o l'utilizzo elevato della CPU.

  6. Raccogliere un log di Monitoraggio prestazioni. Usare un intervallo di snapshot da 1 secondo a 5 secondi.

  7. Registrare il PID del processo Svchost che causa l'offesa.

  8. Raccogliere un log WPR mentre si verifica il problema.

  9. Eseguire ProcDump due volte durante l'utilizzo elevato della CPU segnalato. Spaziare le esecuzioni di alcuni minuti.

Più istanze di processo con lo stesso nome

Diverse istanze di un processo possono condividere lo stesso nome. Ad esempio, questo problema può verificarsi con i processi di explorer.exe in un server RDP (Remote Desktop Protocol).

Per risolvere il problema, seguire questa procedura:

  1. Raccogliere un log di Monitoraggio prestazioni. Usare un intervallo di snapshot da 1 secondo a 5 secondi.

  2. Raccogliere un log WPR mentre si verifica il problema.

  3. Eseguire ProcDump due volte durante l'utilizzo elevato della CPU segnalato. Spaziare le esecuzioni di alcuni minuti.

  4. Registrare il PID del processo che causa l'errore eseguendo il comando seguente:

    tasklist /v /fo csv >Running_Process.txt

Processo dell'applicazione di terze parti

Se un terzo processo viene identificato come causa del problema, è necessario contattare il fornitore dell'applicazione per capire perché il rispettivo processo causa un utilizzo elevato della CPU nel computer.

Raccolta dati

Prima che si verifichi il problema

È possibile usare la versione di Debug Diagnostic 2.0 per risolvere ulteriormente il problema. Per usare lo strumento, seguire questa procedura.

  1. Installare lo strumento di diagnostica di debug v2 Update 2.

    Importante

    Disinstallare tutte le altre versioni dello strumento di diagnostica di debug prima di installare la versione 2.0.

  2. Selezionare Start, immettere Performance Monitor e quindi fare clic con il pulsante destro del mouse Monitor prestazioni per eseguirlo come amministratore.

  3. Usare Monitor prestazioni per raccogliere il log dei contatori delle prestazioni e avviare la registrazione.

Quando si verifica il problema

  1. Aprire l'insieme DebugDiag 2.
  2. Selezionare la scheda Processi, fare clic con il pulsante destro del mouse sul processo di lavoro corrispondente al pool di applicazioni appropriato e quindi scegliere Crea utente completo.
  3. Ripetere il passaggio 2 tre volte mentre l'utilizzo della CPU è elevato.
  4. Arrestare la registrazione Monitor prestazioni.
  5. Comprimere i dati usando DebugDiag. A tale scopo, selezionare Strumenti>Crea un file CAB incrementato.

È consigliabile conservare le informazioni raccolte a portata di mano nel caso in cui sia necessario contattare supporto tecnico Microsoft.