Voglio eseguire un programma che consuma memoria e tenere traccia del suo utilizzo della memoria nel tempo. Il programma termina dopo pochi secondi dopo essere stato richiamato.
Questa domanda precedente suggeriva il pacchetto sysstat . Mentre la sua pidstat
utilità fa in parte ciò che voglio, non riesce a soddisfare le mie 2 esigenze:
- Accetta un intervallo minimo di
1s
, ma voglio misurare con una granularità più breve. (0.1s
dovrebbe andare bene) - Tiene traccia solo di un processo esistente, mentre non posso sempre essere presente per copiare e incollare il pid.
Ci sono alcuni script / utilità alternativi per fare meglio il lavoro di invocazione e misura?
/proc/$PID/statm
), quindi dormire per 100ms e ripetere. Perché non si può solo continuare a lanciare il PID associatostatm
attraversocat
, forse utilizzare alcuni regex per filtrare fuori i valori supplementari / non necessari, e basta fare unsleep 0.01
? Alcuni sistemi operativi non consentirannosleep
valori inferiori al secondo , quindi in quel caso dovresti prendere la route Python (e invece utilizzare latime
libreria integrata di Python per dormire).