Notícias
Novos modelos de linguagem da API Serverspace GPT
Serverspace Black Friday
DF
março 28, 2025
Atualizado março 28, 2025

Salvando a saída do comando top em um arquivo no Linux

Linux

O comando top é uma ferramenta poderosa para monitoramento de processos no Linux, permitindo acompanhar em tempo real a carga da CPU, o uso de memória e outros parâmetros do sistema. No entanto, em alguns casos, é necessário salvar os dados para análise posterior, especialmente ao identificar picos de carga de curta duração ou rastrear a atividade de processos específicos.

Este artigo explora vários métodos para salvar a saída do top em um arquivo, além de automatizar o processo usando o Cron.

1. Salvando a saída do comando top uma única vez

Se você precisa capturar o estado atual do sistema apenas uma vez, pode usar o seguinte comando:

top -b -n 1 > /home/user/logs/top_output.txt

Onde:

  • -b — modo batch, necessário para redirecionar a saída para um arquivo.
  • -n 1 — executa uma única iteração de atualização e finaliza.
  • > /home/user/logs/top_output.txt — grava os dados no arquivo especificado.

2. Salvando múltiplas iterações da saída do top

Para analisar mudanças no sistema ao longo do tempo, é possível executar o top em várias iterações com um intervalo de atraso:

top -n 5 -d 4 -b > /home/user/logs/top_output_5_iter.txt

Onde:

  • -n 5 — executa 5 iterações de atualização.
  • -d 4 — define um atraso de 4 segundos entre as atualizações.

3. Automatizando a coleta de dados com o Cron

Se você precisa salvar regularmente informações sobre a carga do sistema, o uso do agendador de tarefas Cron é a melhor opção. Abaixo estão alguns cenários de automação.

3.1. Salvando a saída do top a cada 5 minutos por uma hora

Por exemplo, para coletar dados dos processos a cada 5 minutos durante uma hora (das 5:00 às 6:00 da manhã), adicione o seguinte cron job:

0-59/5 5 * * * top -n 10 -d 4 -b > /home/user/logs/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

Este cron job:

  • É executado a cada 5 minutos, das 5:00 às 6:00.
  • Executa o top por 10 iterações, com um atraso de 4 segundos entre as atualizações.
  • Cria um arquivo separado com um timestamp para facilitar a análise dos dados.

3.2. Acrescentando dados do top a um único arquivo

Se for necessário gravar os dados em um único arquivo, em vez de criar novos, use >> em vez de > , o que adicionará os resultados ao arquivo existente:

0-59/5 9 * * * top -b -n5 -d 5 >> /home/user/logs/aggregated_top_output.txt

3.3. Salvando a saída do top a cada 5 minutos por 30 minutos

Para coletar informações apenas dentro de um intervalo de tempo específico, por exemplo, das 13:30 às 14:00, use o seguinte cron job:

30-59/5 13 * * * top -n 10 -d 4 -b > /home/user/logs/top_out-`date +\%Y\%m\%d\%H\%M\%S`.txt

4. Dicas adicionais

4.1. Filtrando a saída do top

Se você precisa apenas dos dados de processos específicos, pode usar o grep. Por exemplo, para salvar somente informações sobre o processo nginx:

top -b -n 1 | grep nginx > /home/user/logs/nginx_top_output.txt

4.2. Usando awk para extrair dados-chave

Se você estiver interessado apenas no uso da CPU e da memória, pode filtrar a saída com awk:

top -b -n 1 | awk '/Cpu/ || /Mem/' > /home/user/logs/cpu_mem_usage.txt

Conclusão

Salvar a saída do comando top em um arquivo permite analisar a carga do sistema em diferentes momentos e identificar gargalos. O uso do Cron ajuda a automatizar o processo, enquanto a filtragem possibilita focar nos dados mais relevantes.

Essa abordagem é excelente para monitoramento do sistema, especialmente para diagnosticar picos temporários de carga ou realizar análises de desempenho a longo prazo.

Ao aplicar esses métodos, você pode facilmente adaptá-los às suas necessidades e criar um sistema eficiente de coleta e análise de dados.

Avaliação:
5 fora de 5
Аverage rating : 5
Avaliado por: 1
CEP 01311-930 São Paulo Avenida Paulista, nº 1765, 7º andar, Cj. 72, CV 10172, Bela Vista
+ 55 11 5118-1047
ITGLOBAL.COM BR LTDA
Usamos cookies para melhorar sua experiência no Serverspace. Ao continuar a navegar em nosso site, você concorda com o Uso de Cookies e com a Política de Privacidade.