time
ist ein brillanter Befehl, wenn Sie herausfinden möchten, wie viel CPU-Zeit ein bestimmter Befehl benötigt.
Ich suche nach etwas Ähnlichem, das die maximale RAM-Nutzung des Programms und aller Kinder messen kann. Vorzugsweise sollte es zwischen verwendetem und unbenutztem zugeordnetem Speicher unterscheiden. Vielleicht könnte es sogar die mittlere Speicherauslastung geben (also die Speicherauslastung, die Sie erwarten sollten, wenn Sie lange laufen).
Also würde ich gerne tun:
rammeassure my_program my_args
und erhalten Sie eine Ausgabe ähnlich wie:
Max memory allocated: 10233303 Bytes
Max memory used: 7233303 Bytes
Median memory allocation: 5233303 Bytes
Ich habe mir memusg
angesehen https://gist.github.com/526585/590293d6527c91e48fcb08edb8de9fd6c88a6d82, aber ich betrachte das als einen Hack.
Akzeptierte Antwort:
Sie können tstime verwenden, um die Highwater-Speichernutzung (RSS und virtuell) eines Prozesses zu messen.
Zum Beispiel:
$ 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
Es unterstützt auch einen einfacher zu analysierenden Ausgabemodus (-t
).