Para avaliar o desempenho dos dispositivos de E/S, sua eficiência em relação ao tempo é calculada. No Linux, usamos o comando iostat para descobrir seu uso da CPU e outros dispositivos de entrada/saída conectados em relação ao tempo. Com base nesses relatórios, as configurações dos dispositivos de E/S podem ser alteradas para otimizar a carga na CPU.
O comando iostat é útil para monitorar a CPU e outros dispositivos de E/S conectados a ele, neste artigo, descobriremos mais sobre o comando iostat.
Instalação do comando iostat no Linux
O comando iostat não é pré-instalado em distribuições Linux, mas vem com o pacote padrão, portanto, pode ser instalado no Linux usando o gerenciador de pacotes da distribuição específica. Para instalar o comando iostat no redhat/centros/fedora, use o comando:
$ yum install sysstat
Enquanto no Ubuntu/Debian/Linuxmint Distribuições do Linux, ele pode ser instalado usando o comando:
$ sudo apt install sysstat
Uso do comando iostat no Linux
O comando iostat é simples e pode ser executado no terminal do Linux para exibir o relatório de monitoramento:
$ iostat
Na saída acima, podemos ver que o relatório é dividido em duas partes; Relatório de utilização da CPU e relatório de utilização de dispositivos.
Relatório de utilização da CPU: O relatório de utilização da CPU está exibindo o desempenho da CPU por diferentes parâmetros, a explicação para esses parâmetros é:
Parâmetro | Explicação |
---|---|
%do utilizador | O uso da CPU é exibido em % |
%legal | Ele mostra o uso da CPU em porcentagem no nível do usuário quando é usado com o comando "bela prioridade" |
%sistema | Ele mostra o uso da CPU em porcentagem no nível do sistema, que também é conhecido como nível de kernel |
%Iowait | É o tempo (tempo em %) em que a CPU era inerte e o sistema (kernel) recebe a solicitação de dispositivos de E/S |
%roubar | Ele mostra o tempo em porcentagem em que a CPU virtual esperou involuntariamente porque o hipervisor foi atendido por qualquer outro processador |
%parado | É o tempo (tempo em %) em que a CPU era inerte e o sistema (kernel) recebe a solicitação de dispositivos de E/S no |
Relatório de utilização de dispositivos: O relatório de utilização de dispositivos exibe o desempenho dos dispositivos de E/S com base nos seguintes parâmetros:
Parâmetros | Explicação |
---|---|
Dispositivo | Ele mostra o nome do dispositivo de E/S cujo relatório está sendo exibido |
tps | Ele mostra as transferências por segundo (TPS), onde uma transferência é uma solicitação feita pelos dispositivos de E/S para a CPU e maior o TPS significa que a CPU é mais ocupada |
kb_read/s | Ele exibe a quantidade de dados lidos pela CPU por segundo, isso pode ser em diferentes unidades em kilobytes (kb) ou megabytes (MB), dependendo do tamanho |
kb_wrtn/s | Ele exibe a quantidade de dados escritos pela CPU por segundo, semelhante ao kb_read/s, isso pode ser em diferentes unidades em kilobytes (kb) ou megabytes (MB), dependendo do tamanho |
KB_DSCD/S | Ele exibe a taxa de dados descartados pela CPU por segundo, semelhante ao kb_read/s, isso pode ser em diferentes unidades em kilobytes (kb) ou megabytes (MB), dependendo do tamanho |
kb_read | Ele exibe o número total de blocos ou quantidade de dados lidos pela CPU |
kb_wrtn | Ele exibe o número total de blocos ou quantidade de dados escritos pela CPU |
O iostat coleta todos esses dados da CPU e os dispositivos de E/S dos seguintes diretórios:
/proc/stat: Ele contém os detalhes das estatísticas do sistema
/Proc/Uptime: O tempo de atividade do sistema é extraído daqui
/proc/diskstats: As estatísticas de discos são extraídas daqui
/sys: Ele contém as estatísticas para dispositivos de bloco (dispositivos com tamanho fixo como harddisk)
/proc/self/MountStats: Ele contém os dados para sistemas de arquivos de rede
/dev/disk: Os nomes persistentes de dispositivos anexados ao sistema são extraídos daqui
A sintaxe geral do comando iostat
A sintaxe geral do uso do comando iostat no Linux é:
$ iostat [Opção] [nome do dispositivo]
Para exibir o relatório resumido da CPU e dispositivos de E/S
Se apenas o comando "iostat" for executado, ele exibirá o relatório resumido de ambos; CPU e dispositivos de E/S, mas também podem ser usados com diferentes opções, que exibirão o resumo detalhado do dispositivo específico. Por exemplo, se quisermos exibir o relatório de utilização da CPU, usaremos o sinalizador "-C" com o comando iostat:
$ iostat -C
Para exibir o relatório de dispositivos de E/S apenas
Da mesma forma, podemos exibir apenas o relatório de dispositivos de E/S usando o sinalizador "-d":
$ iostat -d
Pode ser observado na saída, os detalhes dos dispositivos foram exibidos.
Para exibir relatório detalhado
Podemos usar o “-x”Flag, que é usado para exibir o relatório detalhado:
$ iostat -x
Na saída acima, alguns novos parâmetros são exibidos, a explicação de parâmetros importantes é mencionada na tabela abaixo:
Parâmetros | Explicação |
---|---|
r/s | O número total das solicitações de leitura concluídas por segundo |
rrqm/s | O número total das solicitações de leitura mescladas por segundo que são na fila do sistema |
WRQM/S | O número total de solicitações de gravação mescladas por segundo que são na fila do sistema |
r_await | É o tempo médio gasto pelas solicitações de leitura dos dispositivos de esperar na fila até a solicitação de tempo aceita pelo sistema |
w_await | É o tempo médio gasto pelas solicitações de gravação dos dispositivos de esperar na fila até a solicitação de tempo aceita pelo sistema |
c/s | O número total de solicitações de gravação concluídas por segundo |
%util | A duração do tempo da CPU em que os pedidos dos dispositivos de E/S foram enviados |
Para exibir o relatório usando unidades diferentes
Opções “-k" e "-m”São usados para exibir os resultados em Kilobytes e megabytes, Para entender, usaremos o “-mSinalizador para converter nossos resultados (que estão em KB) em megabytes:
$ iostat -m
Para exibir o relatório de dispositivos de bloco
Para obter o relatório de monitoramento dos dispositivos de bloco, o sinalizador “-P” é usado:
$ iostat -p
$ iostat -pdm
No comando acima, usamos três bandeiras "-P", "-d" e "-m" No total, para obter os detalhes dos dispositivos de bloco em megabytes.
Para exibir o relatório em formato legível por humanos e JSON
Também podemos exibir este relatório no formato legível pelo homem usando "-h":
$ iostat -h
Ou no formato JSON usando o “-Ó JSON”Opção:
$ iostat -o json
Conclusão
O comando iostat é usado no Linux para monitorar o desempenho da CPU e dos dispositivos de E/S, que é útil na distribuição da carga em diferentes dispositivos de armazenamento para obter a eficiência máxima da CPU. Neste artigo, explicamos a instalação do comando iostat e também os parâmetros do relatório gerado pelo comando iostat. O comando iostat também pode ser usado com sinalizadores diferentes; As bandeiras importantes e mais usadas também estão sendo discutidas.