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.