Come posso monitorare l'utilizzo della CPU per i servizi di Windows?


27

Sto usando il Task Manager di Windows per tenere traccia dell'utilizzo della CPU. Ho notato che le mie applicazioni sono elencate ma i servizi di Windows no.

Ad esempio, l'utilizzo totale della CPU è elencato al 70% ma il riepilogo delle applicazioni elencate è solo del 30% circa. Presumo che la differenza sia dai servizi che non sono elencati nella scheda Processi nel Task Manager di Windows.


Risposte:


25

Ecco come ottenere dettagli su un servizio senza strumenti esterni su Windows 7 e 8:

Apri il monitor risorse:

  • Apri Task Manager e fai clic sulla scheda Prestazioni
  • Fai clic su "Apri monitoraggio risorse" in basso

Mostra dettagli servizio:

  • Fare clic sulla scheda "CPU"
  • Nella sezione "Processi", trova il processo che desideri; puoi ordinare per CPU facendo clic sull'intestazione della colonna "CPU"
    • Seleziona la casella accanto
  • Espandi la sezione "Servizi" di seguito; vedrai quale servizio specifico sta usando la CPU

inserisci qui la descrizione dell'immagine

Ho dovuto capire questo perché svchost stava consumando molte risorse e questo era l'unico modo in cui riuscivo a vedere che il colpevole era upnphost.


C'è anche una sezione "Servizi" che puoi espandere in "Processi". Ad ogni modo, grazie!
Nicholas Riley,

Ecco di cosa stavo parlando, felice che tu l'abbia trovato :-) selezionando un processo in "Processi" (come un particolare svchost nel mio caso), puoi vedere i servizi nella vista "Servizi" associati a quel particolare processi.
dominik andreas,

Finalmente, sarò in grado di rintracciare quel misterioso servizio che utilizza 1 CPU al 100% su Windows 7, solo quando il mio schermo si spegne dopo 15 minuti di inattività. Non appena lo riattivo, il servizio rilascia la CPU che sta utilizzando. Ho appena visto abbastanza per vedere che è uno "svchost" ... ora, con una media di 60 sec, avrò tempo di vederlo. Dannate botnet!
MrBrody,

7

Probabilmente lo strumento migliore è Process Explorer di Sysinternals. Puoi ottenere quello strumento e molti altri qui .

Modifica: per vedere quali servizi sono in esecuzione in svchost anziché come processo separato, è necessario aggiungere la colonna "Riga di comando" nella finestra di destra. Sfortunatamente questo non mostrerà i servizi che vengono eseguiti in bundle. Per visualizzare tali informazioni in Process Explorer è necessario posizionare il mouse sull'istanza specifica di svchost in questione. Le informazioni appariranno in un popup.


Puoi anche scegliere di fare in modo che procmon sostituisca taskman. Procmon lo fa registrandosi come debugger per taskman e semplicemente eseguendo se stesso invece di taskman quando qualcosa vuole avviare taskman.
Brian Reiter,

Ops. Non procmon, intendo procexp. (Procmon è un altro strumento di sysinternals che ti consente di controllare l'accesso al registro, al file system e all'API di Windows per i processi.)
Brian Reiter,

Si noti che se si utilizza File> Mostra dettagli per tutti i processi, è quindi possibile utilizzare la scheda Discussioni nelle proprietà del processo per quell'istanza di svchost.exe (fare doppio clic sul processo o premere Invio) per visualizzare l'utilizzo della CPU per thread e la colonna Servizio elenca il servizio corrispondente.
Nicholas Riley,

In ProcessExplorer, le schede [Servizi] e [TCP / IP] mi hanno fornito informazioni preziose sull'identificazione specifica del servizio. C'è anche un altro modo per identificare il servizio con il clic destro del mouse nel Task Manager standard che sto postando di seguito come risposta separata.
Alex Fortuna,

1

Prova il Extensoft Free Extended Task Manager

http://www.extensoft.com/?p=downloads

Vai alla scheda Servizi e fai clic destro su un servizio in esecuzione, quindi fai clic su Vai a processo .

Ti riporterà alla scheda Processi ed evidenzierà quale Processo viene utilizzato da quel servizio.


Ho installato il task manager esteso gratuito extensoft. Aggiunge una scheda di servizio. Faccio clic sul servizio e seleziono vai al processo. Passa alla scheda del processo ma non evidenzia il processo. Inoltre, esiste uno strumento che mostra l'utilizzo della CPU di tutti i servizi in un elenco (simile all'elenco dei processi nel task manager)? Nota: sto utilizzando Windows Vista Home Premium Edition.

Non sono sicuro del perché non evidenzi il processo. Ho anche una macchina Vista accanto a me e mostra quale processo è legato al servizio.
Qwerty,

1

Molti servizi vengono eseguiti all'interno di un'istanza di un processo host generico, svchost.exe. È possibile utilizzare tasklist / svc da una riga di comando per ottenere un elenco dei servizi in esecuzione all'interno di ciascuna istanza di svchost.exe insieme ad altri processi.

È inoltre possibile fare clic con il pulsante destro del mouse su un processo svchost.exe in Gestione attività e selezionare "Vai a servizio / i" e Taskman passerà alla scheda servizi ed evidenzierà i servizi pertinenti.

Con sysinternals process explorer , puoi passare con il mouse su un servicehost.exe e visualizzare una descrizione dei servizi ospitati all'interno.

Nessuno di questi ti dirà quanto tempo della CPU del processo del servizio host è dedicato a un particolare servizio membro ospitato all'interno.


tasklist /svcè una cosa carina, mostra i PID e i relativi servizi in breve. Grazie!
Alex Fortuna,

1

Questo ha funzionato per me nel Task Manager standard disponibile in Windows 7 Ultimate:

  1. Apri Task Manager.
  2. Fare clic sulla scheda [Processi].
  3. Fare clic sul pulsante [Mostra processi da tutti gli utenti].
  4. Fare clic con il tasto destro del mouse su ciòsvchost.exe che causa problemi (memoria, CPU, ecc.)
  5. Nel menu a discesa selezionare [Vai a servizio / i].

Ciò ti porterà alla scheda [Servizi] con 1 o più servizi correlati evidenziati . Si noti che un singolo svchost.exepuò riguardare un numero di servizi nella scheda [Servizi].


0

È necessario aprire Task Manager come amministratore. Fai clic sul pulsante "Mostra processi da tutti gli utenti".

Ma come ha detto Brian Reiter, molti servizi sono ospitati all'interno di un processo. Per capire quale servizio consuma la tua cpu puoi provare il mio strumento di divulgazione del servizio . Ti consente di suddividere i servizi in processi dedicati. Sarai in grado di vedere quale servizio utilizza le risorse. Dopo l'indagine ti consente di restituire tutti i servizi.

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.