Table of Contents
Introdução
Para a administração eficiente de servidores Linux, especialmente em ambientes que exigem alta performance e confiabilidade, é fundamental monitorar constantemente o uso de recursos do sistema como CPU, memória, disco e I/O. Ferramentas como `mpstat`, `iostat`, `iotop` e `vmstat` fornecem informações detalhadas que permitem identificar gargalos e otimizar o desempenho do sistema.
- `mpstat`: Focado em monitorar o uso de CPU, exibindo estatísticas por núcleo e interrupções. - `iostat`: Fornece uma visão detalhada sobre o uso de disco e desempenho de I/O, incluindo informações sobre latência. - `iotop`: Exibe o uso de I/O de disco por processo, ajudando a identificar quais tarefas estão consumindo mais recursos de I/O. - `vmstat`: Monitora o uso geral de recursos do sistema, incluindo CPU, memória, swap e processos de I/O.
Com essas ferramentas, administradores de sistemas podem tomar decisões informadas para ajustar a alocação de recursos, melhorar a eficiência e detectar possíveis falhas antes que impactem o desempenho do servidor. Esta lista apresenta exemplos de comandos organizados por níveis de complexidade, desde monitoramento básico até análises especializadas, permitindo uma visão completa do comportamento do sistema.
Exemplos dos Comandos mpstat, iostat, iotop e vmstat
Nível Básico
mpstat (Monitoramento de CPU)
- Monitorar o uso da CPU:
mpstat
- Exibe o uso da CPU para todos os processadores, mostrando porcentagens de tempo de uso em diferentes modos (usuário, sistema, idle).
- Monitorar o uso da CPU em intervalos de 1 segundo:
mpstat 1
- Atualiza as estatísticas de uso da CPU a cada 1 segundo.
- Exibir a utilização de cada núcleo da CPU:
mpstat -P ALL
- Mostra a utilização individual de cada núcleo do processador.
iostat (Monitoramento de Disco)
- Exibir estatísticas básicas de CPU e disco:
iostat
- Exibe as estatísticas de uso do CPU e dos discos conectados ao sistema.
- Monitorar a utilização de disco em intervalos de 1 segundo:
iostat 1
- Atualiza as estatísticas de disco a cada 1 segundo.
- Exibir uso de disco por dispositivo:
iostat -d
- Mostra as estatísticas de uso de disco para cada dispositivo de armazenamento conectado.
iotop (Monitoramento de I/O de Disco por Processo)
- Exibir uso de I/O de disco por processo:
sudo iotop
- Exibe em tempo real o uso de I/O de disco por cada processo.
- Exibir apenas processos com I/O ativo:
sudo iotop -o
- Mostra apenas processos que estão atualmente utilizando I/O de disco.
vmstat (Monitoramento de Sistema)
- Exibir estatísticas básicas de memória, swap e I/O:
vmstat
- Mostra um resumo do uso de CPU, memória, swap, e I/O.
- Atualizar estatísticas a cada 1 segundo:
vmstat 1
- Atualiza as estatísticas do sistema em intervalos de 1 segundo.
- Mostrar uma única amostra de dados de sistema:
vmstat -n
- Exibe uma única linha de estatísticas, útil para verificações rápidas.
Nível Intermediário
mpstat (Monitoramento de CPU)
- Monitorar a utilização de um núcleo específico:
mpstat -P 0 1
- Exibe o uso do primeiro núcleo da CPU, atualizado a cada 1 segundo.
- Exibir estatísticas estendidas da CPU:
mpstat -u 1 5
- Atualiza a utilização de CPU detalhada a cada 1 segundo, por 5 vezes, mostrando dados de tempo de sistema, usuário, e interrupções.
iostat (Monitoramento de Disco)
- Exibir estatísticas detalhadas de CPU e disco em intervalos:
iostat -c 1 5
- Exibe estatísticas detalhadas de uso de CPU e disco a cada 1 segundo, repetindo 5 vezes.
- Mostrar uso de disco para uma partição específica:
iostat -p /dev/sda
- Exibe as estatísticas de uso de disco apenas para a partição `/dev/sda`.
- Exibir uso de disco e estatísticas de rede:
iostat -x
- Mostra estatísticas estendidas de I/O por dispositivo e latência de disco.
iotop (Monitoramento de I/O de Disco por Processo)
- Exibir uso de I/O por processos e threads:
sudo iotop -P
- Exibe tanto os processos quanto as threads consumindo I/O de disco.
- Mostrar uso de I/O cumulativo por processo:
sudo iotop -a
- Exibe o uso cumulativo de I/O por cada processo desde o início do monitoramento.
vmstat (Monitoramento de Sistema)
- Monitorar o uso de memória e swap em intervalos:
vmstat 5 10
- Atualiza as estatísticas do sistema a cada 5 segundos por 10 vezes, exibindo informações de memória e swap.
- Exibir estatísticas de I/O, CPU e sistema:
vmstat -D
- Exibe estatísticas detalhadas de disco, I/O e tempo de interrupção do sistema.
Nível Avançado
mpstat (Monitoramento de CPU)
- Monitorar interrupções e softirqs por núcleo:
mpstat -I CPU
- Exibe as interrupções de hardware e software (softirqs) para cada núcleo de CPU.
- Monitorar o tempo de espera da CPU para I/O:
mpstat -u -P ALL 1
- Monitora o tempo gasto pela CPU em espera de I/O (I/O wait) para todos os núcleos da CPU.
iostat (Monitoramento de Disco)
- Exibir estatísticas de dispositivos LVM ou RAID:
iostat -x -m /dev/mapper/vg0-lv0
- Mostra estatísticas detalhadas de I/O para volumes gerenciados por LVM ou RAID.
- Monitorar o uso de disco e CPU em KB/s:
iostat -k 1 10
- Atualiza as estatísticas de uso de disco e CPU em KB/s, a cada 1 segundo, por 10 vezes.
iotop (Monitoramento de I/O de Disco por Processo)
- Monitorar o uso de I/O de disco com prioridade de I/O:
sudo iotop -O
- Exibe as operações de I/O de disco com suas prioridades de I/O, útil para ajustar a prioridade de tarefas.
- Listar a quantidade de swap utilizada por cada processo:
sudo iotop -o -s
- Exibe a quantidade de memória swap utilizada pelos processos que estão executando I/O.
vmstat (Monitoramento de Sistema)
- Exibir informações sobre falhas de página (page faults):
vmstat -s
- Mostra estatísticas detalhadas sobre o sistema, incluindo falhas de página e informações sobre swap.
- Monitorar estatísticas de sistema com prioridade de I/O:
vmstat -p
- Monitora o sistema com foco nas estatísticas de prioridade de I/O.
Nível Especializado
mpstat (Monitoramento de CPU)
- Monitorar interrupções específicas e interrupções por dispositivo:
mpstat -I SUM 1
- Monitora todas as interrupções (hardware e software) no sistema, com uma visão geral.
- Exibir uso de tempo real por processos de hardware (NUMA):
mpstat -N ALL
- Mostra a utilização da CPU em sistemas com várias regiões de memória NUMA (Non-Uniform Memory Access).
iostat (Monitoramento de Disco)
- Monitorar latência de disco detalhada com histogramas:
iostat -x -y 1 5
- Monitora o tempo médio de serviço e o tempo de espera de disco em detalhes.
- Exibir a média de espera de I/O em microssegundos:
iostat -m -t 1
- Exibe estatísticas de espera de I/O em microssegundos.
iotop (Monitoramento de I/O de Disco por Processo)
- Monitorar processos com alto uso de swap e disco:
sudo iotop -o -p
- Exibe processos que estão utilizando swap em conjunto com I/O de disco, permitindo identificar gargalos.
- Filtrar processos que atingem o limite de I/O:
sudo iotop -n 20 -b
- Mostra apenas os 20 processos mais intensivos em I/O de disco.
vmstat (Monitoramento de Sistema)
- Analisar detalhes sobre o impacto de falhas de página e swapping:
vmstat -p /dev/sda
- Exibe estatísticas detalhadas de falhas de página e atividade de swap relacionadas a um dispositivo específico.
- Monitorar falhas de página, swapping e estatísticas de sistema em tempo real:
vmstat -f -a 1
- Exibe estatísticas detalhadas sobre falhas de página e swapping em tempo real.
