===== 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.