Registra% CPU per processo nel tempo


40

Esiste un modo semplice su Windows per registrare% tempo CPU per processo nel tempo su un file per successive analisi?

Per quanto posso vedere...

  1. Task manager mi mostra la% di CPU per processo ma solo visivamente: non c'è modo di salvare su un file.
  2. Perfmon mi permetterà di salvare su un file e creerà inoltre un file basato sul tempo (scattare istantanee a intervalli di tempo specifici) - che è quasi quello che voglio, tranne che per quanto posso vedere non può abbattere il% CPU per processo.
  3. Process Explorer mi consentirà di suddividere in base al processo, ma salverà il file solo come un'istantanea di un singolo punto nel tempo

Quindi, nessuno di questi è esattamente ciò di cui ho bisogno: ho bisogno di ottenere un file che contenga qualcosa come "i 10 principali processi per CPU, ogni 15 secondi, fino a quando non interrompo il monitoraggio" Il motivo per cui ho bisogno di questo perché ho una macchina su cui alcuni processi causano brevi picchi occasionali nell'utilizzo della CPU più volte al giorno e devo scoprire quale processo è il colpevole.

Qualcosa può farlo o ho perso alcune funzionalità di perfmon o process explorer?

Risposte:


37

Process Monitor può farlo per te.

Innanzitutto potresti voler abilitare la raccolta di eventi di profilazione:

inserisci qui la descrizione dell'immagineinserisci qui la descrizione dell'immagine

Quindi, raccogli semplicemente i dati per tutto il tempo che desideri (potresti voler impostare filtri e abilitare Elimina eventi filtrati se prevedi di raccogliere per lunghi periodi di tempo). Quindi vai su Strumenti -> Riepilogo attività di processo:

inserisci qui la descrizione dell'immagine

Ora otterrai un elenco di tutti i processi attivi che hai registrato, con la loro attività nel tempo. inserisci qui la descrizione dell'immagine

È quindi possibile aprire i dettagli per un singolo processo (facendo doppio clic su di esso) e ispezionare i timestamp per determinati eventi nel grafico:

inserisci qui la descrizione dell'immagine


1
Grazie. È visivamente piuttosto impressionante (temo di pensare a quanta memoria usa se la lasci in esecuzione per molto tempo). È sicuramente utile per poter vedere sullo schermo quali processi stavano facendo. Tuttavia, se faccio clic su "Salva" dalla schermata di riepilogo dell'attività di processo, ciò che viene salvato è ancora un'istantanea a singolo punto nel tempo, senza dati dipendenti dal tempo.
PhantomDrummer,

@PhantomDrummer: il salvataggio e il caricamento di file PML funzionano in modo eccellente per me. Tutti gli eventi precedentemente registrati vengono ripristinati e disponibili per l'analisi dopo aver caricato un PML. Assicurarsi di selezionare Tutti gli eventi quando si salva il file. Nel caso in cui non voglia funzionare, fammi sapere e includerò maggiori dettagli nella mia risposta. Buona fortuna :)
Der Hochstapler,

1
@PhantomDrummer: vai su Opzioni -> Eventi di profilazione. Lì puoi impostare l'intervallo su 1s o 100ms. Questo è quanto va. Se il file diventa ancora troppo grande, è necessario impostare filtri più rigorosi e abilitare Drop Filtered Events.
Der Hochstapler,

1
@Pacerier Uno è un task manager, l'altro registra le operazioni eseguite dalle attività.
Der Hochstapler,

6
Non c'è qualcosa di più semplice? Sembra che tu abbia bisogno di imparare come usarlo. Per un po 'di controllo voglio solo avere tempi di utilizzo della CPU del processo quando l'utilizzo della CPU è superiore a X%
Darius.V,
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.