Script de shell que retorna tempo decorrido, uso de memória e uso de CPU do script executado

0

Eu preciso escrever um script bash que será capaz de retornar o tempo decorrido, o uso de RAM e o uso da CPU do script executado.

meu script:

#!/bin/bash
STARTTIME=$(date +%s%N)

#here is script which needs to be executed

ENDTIME=$(date +%s%N)

echo Elapsed time: $(($(($ENDTIME - $STARTTIME))/1000000))ms

O tempo decorrido funciona, mas como fazer o resto?

    
por Marek Mularczyk 19.10.2018 / 18:35

1 resposta

0

Procure o /usr/bin/time (GNU time ) e suas opções de formatação compatíveis com as quais você poderia fazer algo como:

$ /usr/bin/time -f 'Elapsed time: %es\nMemory usage: %M KB\nCPU usage: %P' echo 'Hello World!'
Hello World!
Elapsed time: 0.02s
Memory usage: 672 KB
CPU usage: 57%

veja man time para mais opções de formatação.

    
por 19.10.2018 / 18:51