time
è un comando brillante se vuoi capire quanto tempo di CPU impiega un determinato comando.
Sto cercando qualcosa di simile in grado di misurare l'utilizzo massimo della RAM del programma e di eventuali bambini. Preferibilmente dovrebbe distinguere tra memoria allocata che è stata utilizzata e non utilizzata. Forse potrebbe anche fornire l'utilizzo mediano della memoria (quindi l'utilizzo della memoria che dovresti aspettarti quando corri per molto tempo).
Quindi vorrei fare:
rammeassure my_program my_args
e ottieni un output simile a:
Max memory allocated: 10233303 Bytes
Max memory used: 7233303 Bytes
Median memory allocation: 5233303 Bytes
Ho guardato memusg
https://gist.github.com/526585/590293d6527c91e48fcb08edb8de9fd6c88a6d82 ma lo considero un po' un hack.
Risposta accettata:
È possibile utilizzare tstime per misurare l'utilizzo elevato della memoria (RSS e virtuale) di un processo.
Ad esempio:
$ tstime date
Tue Aug 16 21:35:02 CEST 2011
Exit status: 0
pid: 31169 (date) started: Tue Aug 16 21:35:02 2011
real 0.017 s, user 0.000 s, sys 0.000s
rss 888 kb, vm 9764 kb
Supporta anche una modalità di output più facile da analizzare (-t
).