Ottenere statistiche CPU per thread


10

Come posso ottenere l'attuale utilizzo della CPU per ogni thread in un'applicazione specifica? È possibile ottenere tali informazioni da qualche parte o utilizzando uno strumento?

Risposte:


8

Per una risposta rapida utilizzare Process Explorer di SysInternal . Fare doppio clic su un processo per aprire la finestra di dialogo dei dettagli. la scheda discussioni fornisce un elenco ordinabile di tutti i thread, inclusi il delta dell'interruttore di contesto e il tempo della CPU.


Prima stavo usando Process Explorer, ma non vedevo la colonna della CPU lì dentro perché era troppo stretta e solo l'intestazione della colonna era visibile.
dabest1,

7

Perfmon (Performance Monitor) dovrebbe darti i dettagli che desideri.

Quanto segue presuppone Windows 2000, XP o Server 2003. Non ho verificato ma penso che il monitor delle prestazioni sia leggermente diverso in Vista, Windows 7 e Server 2008.

Per eseguire Performance Monitor, vai su Start> Pannello di controllo> Strumenti di amministrazione> Prestazioni

Per aggiungere un grafico per ogni thread di un'applicazione, fai clic con il pulsante destro del mouse sul grafico e scegli Proprietà. Potresti voler rimuovere qualsiasi impostazione predefinita fornita per darti un grafico più pulito.

Fai clic sul pulsante "Aggiungi ..." e assicurati che "Usa contatori di computer locali" sia selezionato (a meno che tu non voglia monitorare un altro server, nel qual caso, vai avanti e scegli quell'opzione).

In "Oggetto prestazione" selezionare "Discussione"

Seleziona il contatore "% Tempo processore", quindi seleziona tutti i thread che desideri monitorare (control + clic per selezionare più). Fai clic su "Aggiungi" e poi su "Chiudi".

Tornando alle proprietà, è possibile personalizzare il grafico come desiderato, assegnando colori, motivi, ecc. Fare clic su OK.

Potrebbe essere necessario avviare la rappresentazione grafica, se lo fai, quindi facendo clic sul segnale di stop rosso in modo che non sia abilitato, verrà avviato il grafico.


Ha fatto +1, ad eccezione del commento WMI all'inizio, poiché non ha molto a che fare con il resto del post. Ciò che è stato menzionato funziona in modo simile a Vista e al 2008. Infine, puoi anche avviare Perfmon eseguendo perfmon.msc
DougN il

Uh, scusa, ho confuso le mie condizioni. Volevo dire perfmon. Lo sistemerò ora.
Mark Henderson,

1

Process Monitor (sysinternals)

Penserei che ProcessMonitor di Sysinternals (recentemente acquistato da Microsoft) probabilmente funzionerebbe.

Process Monitor è uno strumento di monitoraggio avanzato per Windows che mostra l'attività di file system, registro e processo / thread in tempo reale. Combina le funzionalità di due utility Sysinternals legacy, Filemon e Regmon e aggiunge un ampio elenco di miglioramenti tra cui filtraggio ricco e non distruttivo, proprietà complete di eventi come ID di sessione e nomi utente, informazioni di processo affidabili, stack di thread completi con supporto di simboli integrato per ogni operazione, registrazione simultanea su un file e molto altro. Le sue straordinariamente potenti funzionalità trasformeranno Process Monitor in una utility di base nella risoluzione dei problemi del sistema e nel toolkit di ricerca del malware.

Ecco il link:

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx


Grazie per il tuo suggerimento La tua risposta è corretta, ma ciò che mi ha aiutato a trovare l'utilizzo della CPU per thread in Process Explorer è stata la risposta che ho selezionato da Richard.
dabest1,

0

è possibile utilizzare il monitor delle prestazioni di Windows integrato, basta digitare perfmon all'inizio, eseguire. una volta su perfmon, fai clic sul segno più, seleziona il processo, scegli il processo, quindi seleziona ciò che vuoi vedere. ritorno alle basi!

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.