O Linux, um sistema operacional de código aberto, desempenha um papel fundamental em muitos ambientes de produção. Para garantir que as aplicações continuem funcionando sem interrupções, é essencial monitorar o servidor e seus serviços. Entre os aspectos mais críticos que precisamos observar estão a utilização da CPU, memória e espaço em disco. Aqui, apresentaremos alguns comandos essenciais que ajudarão você a monitorar esses recursos no servidor Linux.
1. top
: Uma Visão Geral do Sistema
Tasks: 100 total, 2 running, 98 sleeping, 0 stopped, 0 zombie
%Cpu(s): 5.3 us, 2.0 sy, 0.0 ni, 92.4 id, 0.2 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem: 8167848 total, 6381564 used, 1786284 free, 183044 buffers
KiB Swap: 2097148 total, 0 used, 2097148 free. 4128136 cached Mem
O comando top
oferece uma visão em tempo real dos processos em execução no sistema. Por exemplo, ao executar top
, você pode ver a utilização da CPU, a quantidade de memória usada, o tempo de atividade do sistema e outras informações vitais.
2. htop
: Uma Alternativa Avançada ao Top
1 [||||||| 14.0%] Tasks: 32, 60 thr; 2 running
2 [||| 5.0%] Load average: 0.00 0.01 0.05
Mem[||||||||||||||||| 1.58G/7.75G] Uptime: 10 days, 03:46:09
Swp[ 0K/2.00G]
Semelhante ao top
, o htop
permite rolar vertical e horizontalmente. Isso significa que você pode visualizar todos os processos em execução no sistema e suas linhas completas de comando. Por exemplo, ao usar htop
, você pode facilmente identificar processos que consomem muita memória ou CPU.
3. vmstat
: Monitorando a Máquina Virtual
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 0 1786284 183044 4128136 0 0 10 20 120 240 5 2 92 1 0
Com vmstat
, você obtém informações sobre processos, memória, páginas, E/S de blocos, trapas, discos e atividade da CPU. Por exemplo, ao executar vmstat 5
, você pode ver estatísticas atualizadas a cada 5 segundos.
4. iostat
: Fique de Olho na E/S
avg-cpu: %user %nice %system %iowait %steal %idle
5.30 0.00 2.00 0.20 0.00 92.50
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 2.00 10.00 40.00 10240 40960
O iostat
ajuda a monitorar o desempenho do sistema e dispositivos de E/S, fornecendo detalhes sobre a carga da CPU e a atividade do dispositivo de E/S.
5. mpstat
: Detalhes da Utilização da CPU
Linux 4.15.0-29-generic (ubuntu) Tuesday 28 August 2020 _x86_64_ (2 CPU)
12:01:01 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
12:01:01 PM all 5.30 0.00 2.00 0.20 0.00 0.10 0.00 0.00 0.00 92.40
Com o mpstat
, você pode visualizar informações sobre a utilização da CPU, seja para CPUs individuais ou para todas as CPUs.
6. sar
: Relatórios Abrangentes do Sistema
12:00:01 PM CPU %user %nice %system %iowait %steal %idle
12:10:01 PM all 5.30 0.00 2.00 0.20 0.00 92.50
O sar
coleta, relata e salva estatísticas do sistema, permitindo monitorar a utilização da CPU, atividade de E/S, utilização de memória, entre outros.
7. free
: Verificando a Memória
total used free shared buff/cache available
Mem: 8167848 6381564 1786284 98304 183044 4128136
Swap: 2097148 0 2097148
O comando free
mostra a quantidade total de memória física e swap, tanto livre quanto usada, além dos buffers e caches do kernel.
8. df
: Monitorando o Espaço em Disco
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 10238440 5120480 4612960 53% /
tmpfs 4083920 4 4083916 1% /dev/shm
Com df
, você pode visualizar informações sobre o uso do espaço em disco dos sistemas de arquivos.
9. du
: Avaliando o Uso do Disco
56K /home/user/.config
12K /home/user/.cache
68K /home/user
O du
estima e exibe o uso do espaço em disco de arquivos e diretórios. Por exemplo, du -sh /home/user
mostrará o espaço total usado no diretório do usuário.
10. lsof
: Identificando Arquivos Abertos
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 8423 user cwd DIR 8,1 4096 918734 /home/user
bash 8423 user rtd DIR 8,1 4096 2 /
O lsof
lista informações sobre arquivos que são abertos por processos.
11. ps
: Observando Processos em Execução
PID TTY TIME CMD
8423 pts/1 00:00:00 bash
8529 pts/1 00:00:00 ps
Com o ps
, você pode visualizar informações sobre os processos em execução no sistema.
12. uptime
: Quanto Tempo Seu Sistema Está Ativo?
12:10:01 up 10 days, 3:46, 1 user, load average: 0.00, 0.01, 0.05
O comando uptime
revela o tempo de atividade do sistema, mostrando há quanto tempo o servidor está funcionando sem reiniciar.
Conclusão
Manter a estabilidade e a performance do servidor é uma tarefa contínua e essencial. Ao se familiarizar com os comandos acima, administradores de sistema e engenheiros DevOps estarão equipados para monitorar e manter seus servidores Linux de forma eficaz. Estar ciente da saúde e do desempenho do seu servidor permite uma resposta rápida a possíveis problemas, garantindo operações ininterruptas e eficientes.
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.