Ich versuche, die maximale Speicherausgabe von den Befehlen GNU und zsh time
zu verwenden und versuche, die Unterschiede, die ich in der Ausgabe sehe, in Einklang zu bringen. Mein oberstes Ziel ist es, die Spitzen-RAM-Auslastung für ein Programm zu erfassen, das unterschiedlich große Datensätze ausführt. Um den zsh zu verwenden, habe ich this example verfolgt.Unterschied zwischen GNU und zsh Zeitbefehle
$ zsh -i -c 'time ls' > hold
ls --color=auto 0.00s user 0.00s system 40% cpu 0.002 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 0 MB
page faults from disk: 0
other page faults: 335
Mit GNU Zeit, bekomme ich diese ...
$ /usr/bin/time -f %M ls > hold
3632
ich diese GNU Zeit sagt mir denken dass ls
verwendet 3,6 KB RAM, aber die zsh Version verwendet keine. Als ich dies für fleischige Befehle wiederholen, erhält ich auch Unterschiede ...
$zsh -i -c 'time program > hold'
program > hold 16.36s user 0.64s system 99% cpu 17.063 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 94 MB
page faults from disk: 0
other page faults: 25361
Wenn ich den oberen Bildschirm sehen, es sieht aus wie die RES Spalte Peak bei 94 MB nicht aus, obwohl die VIRT-Säule bei 127 MB ist. Nach GNU-Zeit ...
$ /usr/bin/time -f %M my_program > hold
387088
Oder ~ 387 MB.
Kann mir jemand helfen herauszufinden, warum es die Unterschiede gibt und was mir hier fehlt?
Das Ausgabeformat von * zsh * 'time' scheint nicht die Standardeinstellung zu sein. Was ist der Wert von 'TIMEFMT' (' echo $ TIMEFMT')? – Adaephon
Es ist das gleiche wie hier beschrieben: http://superuser.com/questions/480928/is-there-any-command-like-time-but-for-memory-usage/767491#767491 –