Iniciando o top

O top é um monitor de processos em tempo real, presente em praticamente toda instalação Linux. Basta executar:

top
top - 10:32:15 up 2:31, 1 user,  load average: 0.45, 0.30, 0.25
Tasks: 142 total,   1 running, 141 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.2 us,  1.1 sy,  0.0 ni, 95.0 id,  0.5 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :   3936.2 total,   1024.5 free,   1820.3 used,   1091.4 buff/cache
MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.   1890.6 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
 2103 mysql     20   0 1298400 210048  18432 S   1.3   5.2   1:42.30 mysqld
 3487 node      20   0  598720  86016  24576 S   0.7   2.1   0:55.10 node
 1842 www-data  20   0  214532  62104  10240 S   0.3   1.5   0:15.80 apache2

Entendendo o load average

O load average mostra a média de processos na fila de execução nos últimos 1, 5 e 15 minutos. Em uma máquina com 4 CPUs, um load de 4.0 significa 100% de utilização.

# Ver rapidamente sem abrir o top
uptime
 10:32:15 up 2:31,  1 user,  load average: 0.45, 0.30, 0.25
Dica: se o load average de 1 minuto está muito acima do de 15 minutos, o sistema está sob carga crescente. Se está abaixo, a carga está diminuindo.

Linha de CPU: %us, %sy, %wa

A linha %Cpu(s) do top detalha onde o tempo de CPU está sendo gasto:

Atalhos do top

Dentro do top, use estas teclas para navegar:

Modo batch para scripts

Use -b para redirecionar a saída do top para um arquivo ou pipe:

# 1 iteração, top 5 processos por CPU
top -b -n 1 | head -12

htop: top com esteroides

O htop oferece uma interface colorida, scroll, filtros e árvore de processos — tudo sem precisar decorar teclas.

# Instalar (Debian/Ubuntu)
sudo apt install htop

# Executar
htop

Atalhos úteis do htop

# Filtrar por usuário específico
htop -u www-data
Dica: no htop, pressione Space para marcar vários processos e depois F9 para enviar um sinal a todos de uma vez.