PDA

View Full Version : Loggare l'utilizzo della CPU di un singolo processo


Baboo85
01-07-2014, 17:18
Ciao a tutti, questo e' piu' un "problema" su Windows in generale, ma sto usando 8.1 quindi scrivo qui.

La mia domanda e' semplice, come si puo' loggare in un file (qualsiasi, TXT, CSV, ecc) l'utilizzo della CPU di un singolo processo?

CoreTemp logga l'utilizzo CPU totale. Ho provato anche "perfmon", ma logga solo "quanto occupa in % la CPU rispetto agli altri processi" e non l'effettivo utilizzo. In pratica mi logga solo il fatto che di quel 40-50% di CPU utilizzata, il 60-80% e' usato dal processo XYZ.exe. Grazie al kaiser, e' l'unico che gira a parte i processi di sistema...

Qualcuno conosce un metodo? Mi sarebbe utilissimo, grazie mille. Purtroppo Task Manager e Performance Monitor non loggano, si puo' solo visualizzare in tempo reale.

Khronos
01-07-2014, 17:44
process monitor. (click) (http://technet.microsoft.com/it-it/sysinternals/bb896645.aspx)

Baboo85
02-07-2014, 11:34
process monitor. (click) (http://technet.microsoft.com/it-it/sysinternals/bb896645.aspx)

Quel link non va, comunque sia l'avevo gia' scaricato, ma non logga. Ti crea un grafico da guardare e basta.

x_Master_x
02-07-2014, 19:57
Benvenuto nel mondo di Typeperf (http://technet.microsoft.com/en-us/library/bb490960.aspx) :O

Da CMD come amministratore:
typeperf -qx > "C:\Users\TUO_USERNAME\Desktop\Counter_List.txt"

Per la lista dei "contatori" validi, nel tuo caso hai bisogno di:
typeperf "\Processo(NOME_PROCESSO)\% Tempo processore" -si 10 -sc 5

-si Equivale all'intervallo di tempo tra una cattura e l'altra, il valore è in secondi
-sc Equivale al numero di "campioni" da raccogliere

In pratica l'output sarà:

"(PDH-CSV 4.0)","\\NOME_PC\Processo(iexplore)\% Tempo processore"
"07/02/2014 20:47:55.183","0.000000"
"07/02/2014 20:48:06.486","3.732662"
"07/02/2014 20:48:18.918","1.633822"
"07/02/2014 20:48:29.518","2.647412"
"07/02/2014 20:48:38.812","1.154654"

I numeri equivalgono all'utilizzo della CPU per il processo iexplore ( Internet Explorer ) che ha oscillato tra lo 0% ( era chiuso ) e il 3,7%
Se vuoi salvare i dati sul un file devi solo fare il "redirect" dell' output come ho fatto per la lista dei contatori validi.

Baboo85
06-07-2014, 15:34
Benvenuto nel mondo di Typeperf (http://technet.microsoft.com/en-us/library/bb490960.aspx) :O

Da CMD come amministratore:
typeperf -qx > "C:\Users\TUO_USERNAME\Desktop\Counter_List.txt"

Per la lista dei "contatori" validi, nel tuo caso hai bisogno di:
typeperf "\Processo(NOME_PROCESSO)\% Tempo processore" -si 10 -sc 5

-si Equivale all'intervallo di tempo tra una cattura e l'altra, il valore è in secondi
-sc Equivale al numero di "campioni" da raccogliere

In pratica l'output sarà:

"(PDH-CSV 4.0)","\\NOME_PC\Processo(iexplore)\% Tempo processore"
"07/02/2014 20:47:55.183","0.000000"
"07/02/2014 20:48:06.486","3.732662"
"07/02/2014 20:48:18.918","1.633822"
"07/02/2014 20:48:29.518","2.647412"
"07/02/2014 20:48:38.812","1.154654"

I numeri equivalgono all'utilizzo della CPU per il processo iexplore ( Internet Explorer ) che ha oscillato tra lo 0% ( era chiuso ) e il 3,7%
Se vuoi salvare i dati sul un file devi solo fare il "redirect" dell' output come ho fatto per la lista dei contatori validi.

Azz ho letto solo adesso... Beh grazie, magari verifichero' la cosa e la utilizzero' in futuro.
Grazie mille :)

Quindi logga in un file di testo... Poi per automatizzarlo non c'e' problema. Grazie mille ancora.