Cómo usar el comando iostat en Linux

Cómo usar el comando iostat en Linux

Para evaluar el rendimiento de los dispositivos de E/S, se calcula su eficiencia con respecto al tiempo. En Linux, utilizamos el comando iostat para averiguar su uso de CPU y otros dispositivos de entrada/salida conectados con respecto al tiempo. Sobre la base de estos informes, las configuraciones de los dispositivos de E/S se pueden cambiar para optimizar la carga en la CPU.

El comando iostat es útil para monitorear la CPU y otros dispositivos de E/S conectados a él, en este artículo, descubriremos más sobre el comando iostat.

Instalación del comando iostat en Linux

El comando iostat no está preinstalado en las distribuciones de Linux, pero viene con el paquete predeterminado, por lo tanto, se puede instalar en Linux utilizando el Administrador de paquetes de la distribución específica. Para instalar el comando iostat en redhat/centos/fedora, use el comando:

$ yum instalación sysstat

Mientras está en distribuciones basadas en Ubuntu/Debian/LinuxMint de Linux, se puede instalar utilizando el comando:

$ sudo apt install sysstat

Uso del comando iostat en Linux

El comando iostat es simple y se puede ejecutar en el terminal de Linux para mostrar el informe de monitoreo:

$ iostat

En la salida anterior, podemos ver que el informe se divide en dos partes; Informe de utilización de CPU e Informe de utilización de dispositivos.

Informe de utilización de la CPU: El informe de utilización de la CPU muestra el rendimiento de la CPU por diferentes parámetros, la explicación de estos parámetros es:

Parámetro Explicación
%usuario El uso de la CPU se muestra en %
%lindo Muestra el uso de CPU en porcentaje a nivel de usuario cuando se usa con el comando "Nice Priority"
%sistema Muestra el uso de CPU en porcentaje a nivel del sistema que también se conoce como nivel de núcleo
%IOWAIT Es el momento (tiempo en %) en el que la CPU era inerte y el sistema (kernel) recibe la solicitud de dispositivos de E/S
%robar Muestra el tiempo en porcentaje en el que la CPU virtual esperó involuntariamente porque el hipervisor fue atendido por cualquier otro procesador
%inactivo Es el tiempo (tiempo en %) en el que la CPU era inerte y el sistema (kernel) recibe la solicitud de dispositivos de E/S

Informe de utilización de dispositivos: El informe de utilización de dispositivos muestra el rendimiento de los dispositivos de E/S sobre la base de los siguientes parámetros:

Parámetros Explicación
Dispositivo Muestra el nombre del dispositivo de E/S cuyo informe se está mostrando
TPS Muestra las transferencias por segundo (TPS), donde una transferencia es una solicitud realizada por los dispositivos de E/S a la CPU y más alto, la TPS significa que la CPU está más ocupada
kb_read/s Muestra la cantidad de datos leídos por la CPU por segundo, esto puede estar en diferentes unidades en Kilobytes (KB) o Megabytes (MB) dependiendo del tamaño
KB_WRTN/S Muestra la cantidad de datos escritos por la CPU por segundo, similar al KB_READ/S, esto puede estar en diferentes unidades en Kilobytes (KB) o Megabytes (MB) dependiendo del tamaño
KB_DSCD/S Muestra la tasa de datos descartada por la CPU por segundo, similar al KB_read/S, esto puede estar en diferentes unidades en Kilobytes (KB) o Megabytes (MB) dependiendo del tamaño
KB_read Muestra el número total de bloques o la cantidad de datos leídos por la CPU
KB_WRTN Muestra el número total de bloques o la cantidad de datos escritos por la CPU

El iostat recopila todos estos datos de CPU y los dispositivos de E/S de los siguientes directorios:

/proc/stat: Contiene los detalles de las estadísticas del sistema

/proc/tiempo de inicio: El tiempo de actividad del sistema se extrae de aquí

/Proc/Diskstats: Las estadísticas de los discos se extraen de aquí

/SYS: Contiene las estadísticas de los dispositivos de bloque (dispositivos que tienen el tamaño fijo como el disco duro)

/proc/self/Mountstats: Contiene los datos de los sistemas de archivos de red

/dev/disco: Los nombres persistentes de dispositivos conectados al sistema se extraen de aquí

La sintaxis general del comando iostat

La sintaxis general de usar el comando iostat en Linux es:

$ iostat [opción] [nombre del dispositivo]

Para mostrar el informe de resumen de la CPU y los dispositivos de E/S

Si solo se ejecuta el comando "iostat", mostrará el informe resumido de ambos; CPU y los dispositivos de E/S, pero también se puede usar con diferentes opciones, que mostrarán el resumen detallado del dispositivo específico. Por ejemplo, si queremos mostrar el informe de utilización de la CPU, usaremos el indicador "-c" con el comando iostat:

$ iostat -c

Para mostrar solo el informe de dispositivos de E/S

Del mismo modo, solo podemos mostrar el informe de dispositivos de E/S usando el indicador "-d":

$ iostat -d

Se puede observar desde la salida, los detalles de los dispositivos se han mostrado.

Para mostrar un informe detallado

Podemos usar el "-X"Bandera que se utiliza para mostrar el informe detallado:

$ iostat -x

En la salida anterior, se muestran algunos nuevos parámetros, la explicación de parámetros importantes se menciona en la tabla a continuación:

Parámetros Explicación
r/s El número total de las solicitudes de lectura completadas por segundo
RRQM/S El número total de las solicitudes de lectura fusionadas por segundo que se colocan en el sistema
wrqm/s El número total de las solicitudes de escritura fusionadas por segundo que se ponen en cola en el sistema
r_await Es el tiempo promedio que pasa las solicitudes de lectura de los dispositivos de esperar en la cola hasta la solicitud de tiempo aceptada por el sistema
w_await Es el tiempo promedio dedicado a las solicitudes de escritura de los dispositivos de esperar en la cola a la solicitud de tiempo aceptada por el sistema
W/S El número total de las solicitudes de escritura completadas por segundo
%Util La duración del tiempo de la CPU en la que se presentaron las solicitudes de los dispositivos de E/S

Para mostrar el informe usando diferentes unidades

Opciones "-k" y "-metroSe utilizan para mostrar los resultados en Kilobytes y megabytes, Para entenderlo, usaremos el "-metro"Flag para convertir nuestros resultados (que están en KB) en megabytes:

$ iostat -m

Para mostrar el informe de los dispositivos de bloque

Para obtener el informe de monitoreo de los dispositivos de bloque, se utiliza el indicador "-P":

$ iostat -p
$ iostat -pdm

En el comando anterior, hemos usado tres banderas "-P", "-d" y "-m" en total para obtener los detalles de los dispositivos de bloque en megabytes.

Para mostrar el informe en formato legible por humanos y JSON

También podemos mostrar este informe en el formato legible por humanos usando "-h":

$ iostat -h


O en formato JSON usando el "-O JSON" opción:

$ iostat -o json

Conclusión

El comando iostat se usa en Linux para monitorear el rendimiento de la CPU y los dispositivos de E/S, que es útil para distribuir la carga en diferentes dispositivos de almacenamiento para obtener la máxima eficiencia de la CPU. En este artículo, hemos explicado la instalación del comando iostat y también los parámetros del informe generado por el comando iostat. El comando iostat también se puede usar con diferentes banderas; Las banderas importantes y más utilizadas también se están discutiendo.