If you do not have an ongoing or lengthy process to track, you can use /usr/bin/time .
This is not the same as Bash time (as you will see).
For example,
# /usr/bin/time -f "%M" echo 2028
This is the "Maximum Resident Set Size for a Process During Its Life, in Kilobytes" (cited on the man page). That is, like RES in top , etc.
You can get much more with /usr/bin/time .
# /usr/bin/time -v echo Command being timed: "echo" User time (seconds): 0.00 System time (seconds): 0.00 Percent of CPU this job got: 0% Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.00 Average shared text size (kbytes): 0 Average unshared data size (kbytes): 0 Average stack size (kbytes): 0 Average total size (kbytes): 0 Maximum resident set size (kbytes): 1988 Average resident set size (kbytes): 0 Major (requiring I/O) page faults: 0 Minor (reclaiming a frame) page faults: 77 Voluntary context switches: 1 Involuntary context switches: 0 Swaps: 0 File system inputs: 0 File system outputs: 0 Socket messages sent: 0 Socket messages received: 0 Signals delivered: 0 Page size (bytes): 4096 Exit status: 0
Bell Mar 22 '17 at 23:02 2017-03-22 23:02
source share