Comando top do Linux: Monitoramento de Sistema em Tempo Real

LinuxBeginner
Pratique Agora

Introdução

Bem-vindo ao laboratório sobre o comando top do Linux. Neste laboratório, você aprenderá como utilizar o comando top para monitorar processos do sistema e o uso de recursos em tempo real. Esta habilidade é essencial para administradores de sistema, desenvolvedores e qualquer pessoa que precise entender e gerenciar o desempenho do sistema.

Imagine que você é um administrador de sistemas júnior responsável por manter um servidor web movimentado. Foi reportado que o servidor está lento e você precisa identificar quais processos estão consumindo mais recursos. O comando top será sua ferramenta principal para esta investigação, permitindo visualizar e analisar a atividade do sistema em tempo real.

Este é um Laboratório Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para concluir cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 98%. Ele recebeu uma taxa de avaliação positiva de 100% dos alunos.

Uso Básico do Comando top

Vamos começar executando o comando top em sua forma mais simples. Isso nos dará uma visão dinâmica e em tempo real dos processos do sistema.

Abra um terminal e execute o seguinte comando:

top

Você deverá ver uma exibição semelhante a esta:

top - 14:30:23 up  5:10,  1 user,  load average: 0.15, 0.22, 0.28
Tasks: 213 total,   1 running, 212 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  1.3 system,  0.0 ni, 96.3 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   7824.9 total,   2576.8 free,   2935.0 used,   2313.1 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   4558.1 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 1234 user      20   0 3626108 205008  89380 S   2.0   2.6   0:45.85 gnome-shell
 5678 user      20   0  859492  51528  38060 S   1.3   0.6   0:10.91 Xorg
 9101 user      20   0  722816  36096  29088 S   0.7   0.5   0:05.62 gnome-terminal

Esta tela é atualizada continuamente (por padrão, a cada 3 segundos). Vamos detalhar o que estamos vendo:

  1. A primeira linha mostra a hora atual, o tempo de atividade do sistema (uptime), o número de usuários logados e a média de carga (load average).
  2. A segunda linha exibe o número total de tarefas e seus estados (em execução, dormindo, paradas, zumbis).
  3. A terceira linha mostra as porcentagens de uso da CPU.
  4. A quarta e quinta linhas exibem o uso da memória física e da memória swap.
  5. A tabela abaixo mostra informações sobre processos individuais, ordenados por padrão pelo uso da CPU.

Para sair do top, pressione 'q'.

Ordenando Processos no top

Por padrão, o top ordena os processos pelo uso da CPU. No entanto, você pode alterar essa ordenação em tempo real. Vamos explorar como ordenar pelo uso de memória.

  1. Execute o comando top:
top
  1. Com o top em execução, pressione a tecla 'M' (maiúscula). Isso ordenará os processos pelo uso de memória (tamanho do conjunto residente) em vez do uso da CPU.

Agora você deve ver os processos reordenados, com os processos que mais consomem memória no topo da lista.

  1. Para ordenar novamente pelo uso da CPU, pressione a tecla 'P' (maiúscula).

  2. Para ordenar pelo ID do processo (PID), pressione a tecla 'N' (maiúscula).

  3. Para inverter a ordem de classificação atual, pressione 'R' (maiúscula).

Lembre-se de que você sempre pode pressionar 'h' ou '?' enquanto o top estiver rodando para ver uma tela de ajuda com todos os comandos disponíveis.

Saia do top pressionando 'q' quando terminar de explorar.

Alterando o Intervalo de Atualização

Por padrão, o top atualiza sua exibição a cada 3 segundos. No entanto, você pode alterar esse intervalo. Vamos configurá-lo para atualizar a cada 1 segundo para obter atualizações mais frequentes.

Execute o top com a opção -d:

top -d 1

Agora você verá a tela sendo atualizada com mais frequência. Isso pode ser útil quando você está tentando capturar processos de curta duração ou quando precisa observar mudanças rápidas na atividade do sistema.

Para alterar o intervalo de atualização enquanto o top já está em execução:

  1. Pressione 'd' (minúscula).
  2. Digite o novo atraso em segundos (por exemplo, '0.5' para meio segundo).
  3. Pressione Enter.

Lembre-se de que intervalos de atualização muito curtos podem, por si só, consumir recursos significativos da CPU, portanto, use-os com critério.

Saia do top pressionando 'q' quando terminar.

Exibindo Processos de um Usuário Específico

Como administrador de sistemas, muitas vezes você pode precisar monitorar processos de um usuário específico. O comando top permite fazer isso facilmente.

Vamos monitorar os processos do usuário atual (que é 'labex' neste ambiente de laboratório):

top -u labex

Agora você deve ver apenas os processos pertencentes ao usuário 'labex'.

Este recurso é particularmente útil quando você está tentando solucionar problemas relacionados às atividades de um usuário específico ou quando deseja focar em seus próprios processos em um sistema multiusuário.

Saia do top pressionando 'q' quando terminar a observação.

Exibindo Apenas Processos Ativos

Às vezes, você pode querer focar apenas nos processos ativos e ignorar os ociosos. O comando top oferece uma opção para isso.

Execute o top com a opção -i:

top -i

Este comando exibirá apenas os processos ativos, filtrando qualquer processo que tenha tido zero de uso de CPU desde a última atualização.

Isso pode ser particularmente útil quando você está tentando identificar quais processos estão consumindo recursos no momento, sem a poluição visual dos processos inativos.

Saia do top pressionando 'q' quando terminar a observação.

Resumo

Parabéns! Você concluiu este laboratório sobre o uso do comando top para monitoramento de sistema em tempo real. Vamos recapitular o que você aprendeu:

  1. Uso básico do comando top para exibir processos do sistema e uso de recursos.
  2. Como ordenar processos por diferentes critérios (uso de CPU, uso de memória, PID) dentro do top.
  3. Alteração do intervalo de atualização do top para atualizações mais ou menos frequentes.
  4. Monitoramento de processos para um usuário específico.
  5. Exibição apenas de processos ativos, filtrando os ociosos.

Essas habilidades serão valiosas para monitorar e gerenciar recursos do sistema, especialmente em cenários onde você precisa identificar gargalos de desempenho ou solucionar problemas do sistema.

Aqui estão algumas opções adicionais do comando top e comandos interativos que não cobrimos neste laboratório:

  • -b: Executa em modo de lote (útil para enviar a saída para outros programas ou arquivos).
  • -n: Número de iterações antes do top encerrar.
  • 'k': Mata um processo (pelo PID) de dentro do top.
  • 'r': Altera a prioridade (renice) de um processo.
  • 'c': Alterna a exibição do nome do comando ou da linha de comando completa.
  • 'V': Exibe informações da versão.

Lembre-se, o monitoramento eficaz do sistema é crucial para manter o desempenho e a estabilidade. O uso regular do comando top pode ajudá-lo a detectar e prevenir problemas relacionados a recursos antes que eles impactem significativamente o desempenho do seu sistema.