Iostat - Monitorando a CPU e a E/S de disco no Linux com exemplos

Iostat - Monitorando a CPU e a E/S de disco no Linux com exemplos

O iostat é um utilitário valioso da linha de comando Linux que fornece informações detalhadas sobre a CPU e o desempenho de E/S do disco do seu sistema. Faz parte do pacote sysstat e oferece informações em tempo real sobre a utilização dos recursos do seu sistema, permitindo que você identifique gargalos e otimize o desempenho. Neste artigo, abordaremos o básico do iostat, exploraremos suas várias opções e forneceremos exemplos práticos para ajudá -lo a começar.

O que é iostat?

O iostat (estatística de entrada/saída) é um utilitário de linha de comando Linux que coleta e exibe estatísticas sobre a CPU e o desempenho da E/S de disco. Ele fornece informações valiosas sobre a eficiência e o uso dos recursos do seu sistema, tornando -o uma ferramenta indispensável para administradores de sistemas Linux e analistas de desempenho.

Instalação

O iostat faz parte do pacote sysstat, que já pode ser instalado em sua distribuição Linux. Caso contrário, você pode instalá -lo facilmente usando o gerenciador de pacotes para sua distribuição:

  • Para sistemas baseados em Debian/Ubuntu:
    sudo apt-get install sysstat  
  • Para sistemas baseados em RHEL/CENTOS/FEDORA:
    sudo yum install sysstat  

Uso básico

A sintaxe básica do comando iostat é a seguinte:

iostat [options] [dispositivos] [intervalo] [contagem]
1iostat [options] [dispositivos] [intervalo] [contagem]
  • opções: Sinalizadores que modificam o comportamento do comando ou especificam o tipo de informação para exibir.
  • dispositivos: Os dispositivos para os quais você deseja exibir estatísticas de E/S. Por padrão, o iostat mostra estatísticas para todos os dispositivos.
  • intervalo: O intervalo de tempo (em segundos) entre as atualizações. Por padrão, o iostat exibe um único relatório.
  • contar: O número de atualizações a serem exibidas antes de sair. Por padrão, o iostat continuará sendo executado indefinidamente se um intervalo for especificado.

Para exibir a CPU básica e as estatísticas de E/S de disco, basta executar o comando sem nenhuma opção:

iostat  

Entendendo a saída do iostat

A saída do comando iostat é dividida em duas seções: estatísticas da CPU e estatísticas de dispositivo.

Estatísticas da CPU

  • %do utilizador: A porcentagem de tempo a CPU passou executando processos no nível do usuário.
  • %legal: A porcentagem de tempo a CPU passou executando processos no nível do usuário com um valor bom positivo.
  • %sistema: A porcentagem de tempo a CPU passou executando processos no nível do sistema.
  • %Iowait: A porcentagem de tempo que a CPU passou esperando as operações de E/S concluirem.
  • %roubar: A porcentagem de tempo a CPU passou em espera involuntária enquanto o hipervisor atendeu outro processador virtual.
  • %parado: A porcentagem de tempo em que a CPU estava ociosa.

Estatísticas do dispositivo

  • Dispositivo: O nome do dispositivo (e.g., SDA, SDB).
  • tps: O número de transferências por segundo (solicitações de E/S) enviadas ao dispositivo.
  • kb_read/s: O número de kilobytes lido do dispositivo por segundo.
  • kb_wrtn/s: O número de kilobytes escritos para o dispositivo por segundo.
  • kb_read: O número total de kilobytes lidos no dispositivo.
  • kb_wrtn: O número total de kilobytes escritos no dispositivo.
  • Exemplos práticos

    • Monitore as estatísticas de E/S para dispositivos específicos (e.g., SDA e SDB) a cada 2 segundos:
      iostat -d sda sdb 2  
    • Exibir estatísticas de E/S de disco estendido:
      iostat -x  
    • Exibir apenas estatísticas relacionadas à CPU:
      iostat -c  
    • Exiba as estatísticas de E/S para todos os dispositivos e inclua um registro de data e hora para cada relatório:
      iostat -t  
    • Exibir as estatísticas médias desde que o sistema foi inicializado pela última vez:
      iostat -y  
    • Monitore as estatísticas de E/S para dispositivos específicos (e.g., SDA e SDB) a cada 5 segundos para um total de 10 atualizações:
      iostat sda sdb 5 10  

    Interpretando a saída do iostato

    Compreender a saída do iostat é essencial para identificar problemas de desempenho e otimizar seu sistema. Aqui estão algumas diretrizes para ajudá -lo a interpretar os resultados:

    • Iowait alto: Um valor de alto %do Iowait indica que a CPU está gastando uma quantidade significativa de tempo aguardando a conclusão das operações de E/S. Isso pode ser um sinal de um gargalo de E/S, que pode exigir otimizar seus aplicativos, atualizar seu sistema de armazenamento ou distribuir a carga em vários discos.
    • TPS alto: Um alto número de transferências por segundo (TPS) sugere que o disco está passando por uma atividade de E/S pesada. Se o valor do TPS for consistentemente alto, considere otimizar seus aplicativos, atualizar seu sistema de armazenamento ou distribuir a carga em vários discos.
    • Alto kb_read/s e kb_wrtn/s: Valores altos para kb_read/s e kb_wrtn/s indicam que o disco está lendo e escrevendo uma grande quantidade de dados. Se esses valores forem consistentemente altos, pode ser uma indicação de um gargalo de E/S, o que pode exigir otimizar seus aplicativos ou atualizar seu sistema de armazenamento.
    • Sistema de Usuário e %de High %: Valores altos para %Usuário e %do sistema sugerem que a CPU está gastando uma quantidade significativa de tempo executando processos de usuário e sistema. Se esses valores forem consistentemente altos, considere otimizar seus aplicativos ou atualizar sua CPU.

    Conclusão

    O iostat é uma ferramenta de monitoramento poderosa e versátil para sistemas Linux, fornecendo informações valiosas sobre a CPU e o desempenho da E/S de disco. Ao entender a saída do iostat e usá -lo para diagnosticar problemas de desempenho em potencial, você pode otimizar seu sistema e garantir que ele funcione de maneira suave e eficiente.