Monitoramento de Processos em Tempo Real
Enquanto o comando ps fornece um instantâneo dos processos em um determinado momento, às vezes você precisa monitorar os processos continuamente. Nesta etapa, exploraremos ferramentas para monitoramento de processos em tempo real.
Usando o Comando top
O comando top fornece uma visualização dinâmica em tempo real do sistema em execução. Ele exibe informações resumidas do sistema, bem como uma lista de processos ou threads atualmente gerenciados pelo kernel Linux.
Execute o seguinte comando:
top
Você verá algo como:
top - 17:15:23 up 30 min, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1975.1 total, 1558.7 free, 180.4 used, 236.1 buff/cache
MiB Swap: 975.0 total, 975.0 free, 0.0 used. 1651.3 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 8988 3208 2556 S 0.0 0.2 0:00.07 init.sh
22 root 20 0 39528 8596 6088 S 0.0 0.4 0:00.20 supervisord
23 root 20 0 12128 6788 5864 S 0.0 0.3 0:00.00 sshd
...
A saída é dividida em duas partes:
- Resumo do sistema (5 primeiras linhas)
- Lista de processos (classificada por uso da CPU por padrão)
Para sair do top, pressione a tecla q.
Compreendendo a Saída do top
O resumo do sistema fornece:
- Tempo de atividade (Uptime) e médias de carga (load averages)
- Contagens de tarefas por estado (em execução, dormindo, parado, zumbi)
- Detalhamento do uso da CPU
- Uso de memória e swap
A lista de processos mostra:
- PID: ID do Processo
- USER: Usuário proprietário
- PR: Prioridade
- NI: Valor Nice
- VIRT: Memória virtual usada
- RES: Memória residente usada
- SHR: Memória compartilhada
- S: Status do processo
- %CPU: Uso da CPU
- %MEM: Uso da memória
- TIME+: Tempo de CPU usado
- COMMAND: Nome do comando
Comandos Interativos no top
Enquanto o top está em execução, você pode usar vários comandos de teclado para interagir com ele:
- Pressione
M para classificar por uso de memória
- Pressione
P para classificar por uso da CPU
- Pressione
k seguido por um PID para matar um processo
- Pressione
h para obter ajuda
Tente pressionar M enquanto executa o top para ver os processos classificados por uso de memória.
Usando o Comando watch com ps
Outra abordagem para monitoramento em tempo real é usar o comando watch com ps. Isso executa um comando periodicamente e exibe a saída, permitindo que você veja as alterações ao longo do tempo.
watch -n 1 'ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head -n 6'
Isso atualiza a cada 1 segundo e mostra os 5 principais processos que consomem CPU.
Para sair do watch, pressione Ctrl+C.
A combinação de ps com utilitários como watch oferece recursos poderosos para monitorar os processos do seu sistema em tempo real.