17 min de leitura · Guia técnico
Como monitorar CPU, RAM e disco no AlmaLinux 9 é o processo de acompanhar, em tempo real, o uso de processamento, memória e armazenamento com comandos como top, free -h, df -h e iostat. Para fazer isso no AlmaLinux 9, basta verificar CPU e RAM por processo, analisar espaço e I/O de disco e, se necessário, automatizar alertas para detectar gargalos antes de afetarem o servidor.
- Acesse o servidor via SSH com usuário root ou sudo
- Use
topouhtoppara monitorar CPU e memória por processo - Execute
free -hpara verificar uso de RAM e swap - Use
df -hedu -shpara analisar espaço em disco - Instale
sysstate useiostatpara monitorar I/O de disco - Configure alertas automáticos com scripts shell ou ferramentas como Netdata ou Zabbix
Pré-requisitos para monitorar CPU, RAM e disco no AlmaLinux 9
- Servidor com AlmaLinux 9 instalado e atualizado
- Acesso SSH com usuário root ou com privilégios sudo
- Conexão à internet para instalar pacotes via
dnf - Conhecimento básico de terminal Linux
- Pacotes opcionais:
htop,sysstat,iotop,nmon
Como monitorar CPU em tempo real no AlmaLinux 9
O monitoramento de CPU em tempo real permite identificar processos que consomem processamento excessivo e causam lentidão no servidor. O AlmaLinux 9 já inclui o comando top por padrão, mas o htop oferece uma interface mais intuitiva e colorida.
Usando o comando top para monitorar CPU
O top é a ferramenta nativa do Linux para visualizar processos e uso de CPU em tempo real. Execute:
top
top - 14:32:01 up 5 days, 3:12, 1 user, load average: 0.45, 0.38, 0.32
Tasks: 112 total, 1 running, 111 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.2 us, 1.1 sy, 0.0 ni, 94.3 id, 0.3 wa, 0.0 hi, 0.1 si, 0.0 st
MiB Mem : 3934.6 total, 512.3 free, 1823.4 used, 1598.9 buff/cache
MiB Swap: 2048.0 total, 1987.2 free, 60.8 used. 1876.4 avail Mem
Na linha %Cpu(s), os campos mais importantes são: us (processos do usuário), sy (sistema/kernel), id (CPU ociosa) e wa (aguardando I/O de disco). Se wa estiver acima de 10%, há gargalo de disco. Pressione q para sair.
Instalando e usando o htop no AlmaLinux 9
O htop oferece uma visualização mais amigável com barras de progresso e suporte a mouse. Para instalar:
dnf install htop -y
Installed:
htop-3.2.2-1.el9.x86_64
Após a instalação, execute:
htop
No htop, as barras coloridas no topo representam cada núcleo de CPU. Verde indica uso por processos do usuário, vermelho indica uso pelo kernel. Use as teclas F6 para ordenar por CPU e F9 para encerrar um processo diretamente.
Verificando a carga média do servidor
A carga média (load average) indica quantos processos estão aguardando CPU. Para verificar sem abrir o top:
uptime
14:35:22 up 5 days, 3:15, 1 user, load average: 0.52, 0.41, 0.35
Os três números representam a média dos últimos 1, 5 e 15 minutos. Em um servidor com 2 núcleos de CPU, carga média acima de 2.0 indica sobrecarga. Use nproc para saber quantos núcleos seu servidor possui e compare com o load average.
Como verificar uso de RAM no AlmaLinux 9
O consumo de memória RAM é um dos indicadores mais críticos de saúde do servidor. Entender a diferença entre memória usada, cache e disponível evita alarmes desnecessários e ajuda a identificar vazamentos de memória reais.
Comando free para verificar memória disponível
O comando free -h exibe o uso de RAM em formato legível por humanos:
free -h
total used free shared buff/cache available
Mem: 3.8G 1.8G 500M 124M 1.6G 1.8G
Swap: 2.0G 60M 1.9G
O campo available é o mais importante: ele indica a memória realmente disponível para novos processos, descontando o cache que o kernel pode liberar quando necessário. Não confunda com o campo free, que mostra apenas memória completamente não utilizada.
Monitoramento contínuo de RAM com watch
Para acompanhar a memória em tempo real sem abrir o htop, combine o watch com o free:
watch -n 2 free -h
Esse comando atualiza a saída a cada 2 segundos. Pressione Ctrl+C para encerrar. É útil para observar o comportamento da memória durante picos de tráfego ou execução de scripts pesados.
Verificando processos que mais consomem RAM
Para listar os processos ordenados por consumo de memória:
ps aux --sort=-%mem | head -15
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
mysql 1234 0.5 8.2 1234567 321456 ? Sl 09:00 2:14 /usr/sbin/mysqld
apache 2345 0.2 4.1 456789 161234 ? S 09:01 0:45 /usr/sbin/httpd
php-fpm 3456 0.1 3.8 345678 149876 ? S 09:01 0:32 php-fpm: pool www
O campo %MEM mostra a porcentagem de RAM física usada por cada processo. Se o MySQL ou PHP-FPM estiverem consumindo mais do que o esperado, pode ser necessário ajustar os limites de memória dessas aplicações. Veja também o artigo Dicas de Otimização de Servidores Linux para ajustes complementares.
Como monitorar uso de disco no AlmaLinux 9
O espaço em disco é um recurso finito que, quando esgotado, pode derrubar serviços críticos como bancos de dados e servidores web. Monitorar o uso de disco por partição e por diretório é essencial em qualquer servidor de produção.
Verificando espaço em disco com df
O comando df -h exibe o uso de todas as partições montadas:
df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/vda1 50G 18G 32G 36% /
/dev/vda2 100G 45G 55G 45% /var
tmpfs 2.0G 8.0K 2.0G 1% /run
Quando o campo Use% de qualquer partição ultrapassar 85%, é hora de investigar o que está consumindo espaço. Partições críticas como /var (onde ficam logs e bancos de dados) merecem atenção especial.
Identificando diretórios que mais consomem espaço com du
Para descobrir quais diretórios estão ocupando mais espaço, use o du combinado com sort:
du -sh /* 2>/dev/null | sort -rh | head -20
18G /var
8G /usr
4G /home
2G /opt
512M /root
256M /tmp
Para detalhar um diretório específico, como /var:
du -sh /var/* 2>/dev/null | sort -rh | head -10
12G /var/lib
4G /var/log
512M /var/cache
128M /var/spool
Logs antigos em /var/log são frequentemente os maiores vilões. Verifique com ls -lh /var/log/ e use logrotate para gerenciar a rotação automática.
Como monitorar I/O de disco em tempo real no AlmaLinux 9
O monitoramento de I/O (entrada e saída) de disco revela gargalos que não aparecem nas métricas de espaço. Um disco com espaço livre pode ainda ser um gargalo se estiver sendo sobrecarregado por operações de leitura e escrita.
Instalando e usando o sysstat com iostat
O pacote sysstat inclui o iostat, ferramenta essencial para análise de I/O:
dnf install sysstat -y
Após a instalação, execute:
iostat -xz 2
Device r/s w/s rkB/s wkB/s rrqm/s wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
vda 2.45 18.32 156.80 1024.50 0.00 4.20 0.00 18.65 0.82 3.45 0.07 64.00 55.93 0.21 0.44
O campo %util é o mais importante: indica a porcentagem de tempo em que o disco esteve ocupado. Valores acima de 80% de forma consistente indicam gargalo de I/O. O campo w_await mostra o tempo médio de espera para operações de escrita em milissegundos.
Monitorando I/O por processo com iotop
O iotop mostra quais processos estão gerando mais I/O de disco, similar ao top para CPU:
dnf install iotop -y
iotop -o
A flag -o exibe apenas processos com I/O ativo, filtrando os ociosos. Isso facilita identificar rapidamente qual aplicação está sobrecarregando o disco.
Monitoramento consolidado com nmon e vmstat
Para uma visão consolidada de todos os recursos em uma única tela, o nmon e o vmstat são alternativas valiosas para administradores que precisam de uma visão geral rápida do sistema.
Usando vmstat para visão geral do sistema
O vmstat já vem instalado no AlmaLinux 9 e exibe CPU, memória, swap e I/O em uma única linha:
vmstat 2 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 62208 524288 12345 1638400 0 0 78 512 245 489 4 1 94 1 0
0 0 62208 521234 12345 1638400 0 0 0 256 198 412 2 1 97 0 0
O comando acima executa 10 leituras com intervalo de 2 segundos. A coluna r mostra processos aguardando CPU, b mostra processos bloqueados aguardando I/O, e wa na seção CPU indica tempo de espera por disco.
Instalando o nmon para monitoramento interativo
dnf install nmon -y
nmon
Dentro do nmon, pressione as teclas para ativar painéis: c para CPU, m para memória, d para disco, n para rede. É uma das ferramentas mais completas para diagnóstico rápido em servidores Linux.
Como criar alertas automáticos de uso de recursos no AlmaLinux 9
Configurar alertas automáticos é a diferença entre reagir a problemas e preveni-los. Um script simples pode monitorar CPU, RAM e disco e enviar notificações quando os limites são ultrapassados.
Script shell para alertas de disco e CPU
Crie o arquivo de script:
nano /usr/local/bin/monitor-recursos.sh
Adicione o seguinte conteúdo:
#!/bin/bash
EMAIL="[email protected]"
LIMITE_DISCO=85
LIMITE_CPU=90
LIMITE_RAM=90
# Verificar uso de disco
USO_DISCO=$(df / | awk 'NR==2 {print $5}' | tr -d '%')
if [ "$USO_DISCO" -gt "$LIMITE_DISCO" ]; then
echo "ALERTA: Disco em ${USO_DISCO}% no servidor $(hostname)" | mail -s "Alerta de Disco" "$EMAIL"
fi
# Verificar uso de CPU (média do último minuto)
LOAD=$(uptime | awk -F'load average:' '{print $2}' | awk -F',' '{print $1}' | tr -d ' ')
CPUS=$(nproc)
USO_CPU=$(echo "$LOAD $CPUS" | awk '{printf "%d", ($1/$2)*100}')
if [ "$USO_CPU" -gt "$LIMITE_CPU" ]; then
echo "ALERTA: CPU em ${USO_CPU}% no servidor $(hostname)" | mail -s "Alerta de CPU" "$EMAIL"
fi
# Verificar uso de RAM
USO_RAM=$(free | awk '/Mem:/ {printf "%d", ($3/$2)*100}')
if [ "$USO_RAM" -gt "$LIMITE_RAM" ]; then
echo "ALERTA: RAM em ${USO_RAM}% no servidor $(hostname)" | mail -s "Alerta de RAM" "$EMAIL"
fi
Torne o script executável e agende com cron:
chmod +x /usr/local/bin/monitor-recursos.sh
crontab -e
Adicione a linha para executar a cada 5 minutos:
*/5 * * * * /usr/local/bin/monitor-recursos.sh
Para soluções mais robustas com interface web e integração com Slack ou Telegram, considere ferramentas como Netdata ou Zabbix e consulte a documentação oficial de cada plataforma para instalação e alertas.
Problemas comuns e como resolver
Sintoma: htop não está instalado e dnf retorna erro de repositório
Causa: O repositório EPEL (Extra Packages for Enterprise Linux) não está habilitado no AlmaLinux 9. O htop e o nmon dependem desse repositório.
Solução: Habilite o EPEL antes de instalar:
dnf install epel-release -y
dnf install htop nmon -y
Last metadata expiration check: 0:00:12 ago on Tue 30 Apr 2026.
Dependencies resolved.
Installed:
epel-release-9-7.el9.noarch
htop-3.2.2-1.el9.x86_64
nmon-16q-1.el9.x86_64
Sintoma: df -h mostra 100% de uso mas du não encontra arquivos grandes
Causa: Arquivos deletados que ainda estão sendo usados por processos ativos continuam ocupando espaço no disco até que o processo seja encerrado. Isso é comum com logs de aplicações.
Solução: Identifique os processos com arquivos deletados abertos:
lsof | grep deleted | awk '{print $1, $2, $7, $8, $9}' | sort -k3 -rh | head -20
php-fpm 2145 104857600 REG /var/log/php-fpm/error.log (deleted)
nginx 1022 52428800 REG /var/log/nginx/access.log (deleted)
Reinicie o serviço responsável (por exemplo, systemctl restart nginx) para liberar o espaço.
Sintoma: iostat mostra %util próximo de 100% constantemente
Causa: O disco está saturado de operações de I/O. Pode ser causado por banco de dados sem índices adequados, logs excessivos ou backup em horário de pico.
Solução: Use iotop -o para identificar o processo causador. Se for o MySQL, verifique queries lentas com SHOW PROCESSLIST;. Se for backup, reagende para horários de menor tráfego. Considere migrar para discos SSD NVMe se o problema for estrutural.
Device r/s w/s rkB/s wkB/s r_await w_await aqu-sz %util
vda 12.00 350.00 512.0 16384.0 1.20 48.50 16.90 99.20
Nesse exemplo, w_await alto e %util próximo de 100% reforçam que o gargalo está no subsistema de disco.
Sintoma: load average muito alto mas CPU aparece ociosa no top
Causa: Load average alto com CPU ociosa indica que os processos estão bloqueados aguardando I/O de disco (estado D no top), não aguardando CPU. Isso é um gargalo de disco, não de processador.
Solução: Verifique o campo wa (I/O wait) no top e use iostat -xz 2 para confirmar. Processos em estado D aparecem como D na coluna STAT do ps aux.
top - 15:10:41 up 7 days, 2:01, 2 users, load average: 8.42, 7.91, 6.88
%Cpu(s): 6.1 us, 2.3 sy, 0.0 ni, 72.4 id, 19.0 wa, 0.0 hi, 0.2 si, 0.0 st
Se o id continua alto e o wa sobe junto com o load average, o próximo passo é investigar o armazenamento, não a CPU.
Perguntas frequentes sobre monitoramento de CPU, RAM e disco no AlmaLinux 9
Como ver o uso de CPU em tempo real no AlmaLinux 9?
Execute o comando top ou htop no terminal. O top já vem instalado por padrão e exibe uso de CPU por processo em tempo real. O htop oferece interface mais visual e pode ser instalado com dnf install htop -y. Ambos atualizam as métricas a cada segundo e permitem ordenar processos por consumo de CPU pressionando a tecla P.
Como verificar o uso de RAM disponível no AlmaLinux 9?
Use o comando free -h para ver memória total, usada, livre e cache em formato legível. Para monitoramento contínuo, combine com watch -n 2 free -h, que atualiza a cada 2 segundos. O campo available indica a memória realmente disponível para novos processos, descontando cache — é esse número que deve ser monitorado, não o campo free.
Qual comando mostra o uso de disco por diretório no Linux?
O comando du -sh /caminho/* exibe o tamanho de cada subdiretório. Para ver o uso total de todas as partições montadas, use df -h. Para identificar os diretórios que mais consomem espaço, execute du -sh /* 2>/dev/null | sort -rh | head -20 — esse comando lista os 20 maiores diretórios na raiz do sistema em ordem decrescente.
Como monitorar I/O de disco em tempo real no AlmaLinux 9?
Instale o pacote sysstat com dnf install sysstat -y e execute iostat -xz 2 para ver estatísticas de leitura e escrita por dispositivo a cada 2 segundos. O campo %util indica a porcentagem de tempo em que o disco esteve ocupado — valores acima de 80% de forma consistente indicam gargalo de I/O que pode impactar a performance de aplicações e bancos de dados.
Como configurar alertas automáticos de uso de recursos no Linux?
Uma abordagem simples é criar um script shell que verifica uso de CPU, RAM ou disco e envia email via mail ou notificação via curl para webhook quando ultrapassa um limiar definido. O script pode ser agendado com crontab -e para executar a cada 5 minutos. Para soluções mais robustas, ferramentas como Zabbix ou Netdata oferecem alertas configuráveis com interface web e integração com Slack, Telegram e email sem necessidade de programação.
Conclusão
- Comece com as ferramentas nativas:
top,free -h,df -hevmstatjá estão disponíveis no AlmaLinux 9 sem instalação adicional e cobrem a maioria dos cenários de diagnóstico rápido. - Instale sysstat e htop: Com
dnf install sysstat htop epel-release -y, você adicionaiostatpara I/O de disco ehtoppara uma visão mais clara de CPU e memória por processo. - Automatize os alertas: Configure um script cron simples para monitorar limites críticos de disco, CPU e RAM e receber notificações antes que os problemas causem downtime — não espere o servidor travar para agir.
Leia também
- Configurar MariaDB 11.4 no AlmaLinux 9: do padrão ao máximo
- Otimizar recuperação de banco MySQL corrompido no AlmaLinux 9
- Entenda o que é Swap no Linux: como funciona e quando usar
Precisa de ajuda com monitoramento e performance do seu servidor?
Manter um servidor Linux saudável exige monitoramento contínuo e ajustes conforme o crescimento da aplicação. Um VPS bem dimensionado e configurado reduz significativamente os riscos de sobrecarga de recursos.
Conheça os planos de VPS da AviraHost com suporte técnico especializado