Você pode fazer isso executando o comando dentro do GNU time
. Por padrão, a hora mostra os itens de dados real
(relógio de parede), user
(CPU-segundos usados no modo de usuário) e sys
(CPU-segundos usados no modo kernel). No entanto, você também pode pedir para medir outras coisas, como RAM e uso do disco:
/usr/bin/time -f "File system outputs: %O\nMaximum RSS size: %M\nCPU percentage used: %P" <command>
onde <command>
é substituído pelo comando que você deseja executar. A saída será algo como:
File system outputs: 18992
Maximum RSS size: 40056
CPU percentage used: 367%
onde "percentual de CPU usado" é uma porcentagem e mostra aqui que 3.6 núcleos foram usados, "Tamanho máximo de RSS" é o mais próximo de "memória máxima usada" e é expresso em kilobytes e "Saídas do sistema de arquivos" é expresso em número de operações (isto é, não diz quantos dados são gravados). Os comandos du
e df
que você deu devem ajudar lá.
Nota: você precisa de usar /usr/bin/time
em vez de apenas time
, já que muitos shells têm isso como internos, o que não necessariamente suporta a opção -f
.
Para mais informações, consulte man time