Quero coletar dados sobre a utilização da CPU de um ÚNICO PROCESSO ao longo do tempo. Tentei agrupar a coleta de dados (por exemplo, usando pidstat) em um loop while com um segundo de suspensão, mas não funcionou. Também tentei usar o collectl mas não consegui encontrar uma opção para coletar os dados de um único processo (tentei com --procfilter p , mas a saída não foi confiável.
Existe uma ferramenta padrão (possível código aberto) que mede a utilização da CPU de um ÚNICO PROCESSO (usando o PID) ao longo do tempo e dá a possibilidade de despejar esses dados em um arquivo csv?
Responder1
Este faz o truque:
#!/bin/bash enquanto verdadeiro; fazer pidstat | grep 1117 >>pidload.csv dormir 1 feito
Basta colocá-lo em um script de shell. 1117, neste caso, é o ID do processo que você deseja rastrear. chmod +x SCRIPTNAME e pronto.
se você quiser dados específicos, você pode awk, assim:
pidstat | grep1117 | awk '{imprimir $3, $8}' >>pidload.csv