time
est une commande géniale si vous voulez savoir combien de temps CPU prend une commande donnée.
Je recherche quelque chose de similaire qui puisse mesurer l'utilisation maximale de la RAM du programme et de tous les enfants. De préférence, il doit faire la distinction entre la mémoire allouée qui a été utilisée et inutilisée. Peut-être que cela pourrait même donner l'utilisation médiane de la mémoire (c'est-à-dire l'utilisation de la mémoire à laquelle vous devriez vous attendre lors d'une exécution prolongée).
Donc je voudrais faire :
rammeassure my_program my_args
et obtenez une sortie semblable à :
Max memory allocated: 10233303 Bytes
Max memory used: 7233303 Bytes
Median memory allocation: 5233303 Bytes
J'ai regardé memusg
https://gist.github.com/526585/590293d6527c91e48fcb08edb8de9fd6c88a6d82 mais je considère cela comme un peu un hack.
Réponse acceptée :
Vous pouvez utiliser tstime pour mesurer l'utilisation élevée de la mémoire (RSS et virtuelle) d'un processus.
Par exemple :
$ 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
Il prend également en charge un mode de sortie plus facile à analyser (-t
).