Como monitorar todas as execuções de um executável durante um período de tempo

6

Eu sei como monitorar um processo . Comandos como top e assim por diante podem monitorar o tempo de CPU e o uso de memória para uma determinada instância de processo.

Mas digamos que um determinado executável seja executado várias vezes na próxima hora e quero medir quantas vezes ele é executado e o tempo de CPU consumido. O que é um comando para isso?

    
por Dan Gravell 31.01.2013 / 11:20

1 resposta

3

Você pode fazer algo como:

mv my-executable my-executable.bin

E crie my-executable como um script de wrapper:

#! /bin/bash -
{ time "$0.bin" "$@" 2>&3 3>&-; } 3>&2 2>> /tmp/times.log

O script pode adicionar mais informações ao log como a hora em que foi iniciado, por quem, os argumentos foram passados ...

a contabilidade do processo do BSD, pelo menos no Linux , informa o tempo da CPU (user + sys), embora não em um forma acumulativa como time (o tempo de CPU dos processos filhos não é contabilizado pelo pai)

    
por 31.01.2013 / 13:36