zsh tem um comando time interno mais poderoso do que bash , e a versão zsh pode relatar estatísticas de memória.
Mesmo que você não use regularmente zsh como seu shell do dia-a-dia, basta executá-lo quando precisar reunir esses tipos de estatísticas.
Defina a variável de ambiente TIMEFMT para indicar a saída desejada. Aqui está o que eu tenho no meu arquivo .zshrc (talvez um pouco extravagante, mas eu gostei):
TIMEFMT='%J %U user %S system %P cpu %*E total'$'\n'\
'avg shared (code): %X KB'$'\n'\
'avg unshared (data/stack): %D KB'$'\n'\
'total (sum): %K KB'$'\n'\
'max memory: %M MB'$'\n'\
'page faults from disk: %F'$'\n'\
'other page faults: %R'
Exemplo de saída:
% time ls
[... the output of ls, followed by:]
ls -G 0.00s user 0.00s system 91% cpu 0.004 total
avg shared (code): 0 KB
avg unshared (data/stack): 0 KB
total (sum): 0 KB
max memory: 668 MB
page faults from disk: 0
other page faults: 337