Como executar um processo e descobrir quanta memória ele usa? [duplicado]

1

Eu uso regularmente time para descobrir quanto tempo demora um processo. Existe um comando equivalente para memória? As maneiras usuais de descobrir quanta memória um processo leva ( ps , /proc/meminfo , etc.) funcionam bem para um processo de longa execução, mas não sei de nada que funcione como time , por exemplo. um comando é executado a partir da linha de comando. Imagino algo como "tamanho", exceto que inclui a pilha e o heap:

% mem python myscript.py
   text    data    heap 
3135006  570928  115528
    
por Scott Deerwester 03.05.2016 / 03:59

1 resposta

0

Abaixo, algumas coisas podem ajudar:

var=$(pgrep process_name_here);
top -b -p "$var" | awk -v var=$var '$1~var{print $10}'

Você pode até pensar em escrever um script e passar o nome do processo como argumento

Observação: Essa solução não funcionará se você alterar o layout padrão do comando top. Nesse caso, você precisa substituir $ 10 pelo número de campo apropriado

    
por 03.05.2016 / 06:32