IOSTAT - Monitoreo de CPU y E/S de disco en Linux con ejemplos

IOSTAT - Monitoreo de CPU y E/S de disco en Linux con ejemplos

Iostat es una valiosa utilidad de línea de comandos de Linux que proporciona información detallada sobre la CPU y el rendimiento de E/S de disco de su sistema. Es parte del paquete SysStat y ofrece información en tiempo real sobre la utilización de los recursos de su sistema, lo que le permite identificar cuellos de botella y optimizar el rendimiento. En este artículo, cubriremos los conceptos básicos de Iostat, exploraremos sus diversas opciones y proporcionaremos ejemplos prácticos para ayudarlo a comenzar.

Que es iostat?

Iostat (estadísticas de entrada/salida) es una utilidad de línea de comandos de Linux que recopila y muestra estadísticas sobre la CPU y el rendimiento de E/S de disco. Proporciona información valiosa sobre la eficiencia y el uso de los recursos de su sistema, lo que lo convierte en una herramienta indispensable para los administradores de sistemas de Linux y analistas de rendimiento.

Instalación

Iostat es parte del paquete SysStat, que ya puede instalarse en su distribución de Linux. Si no es así, puede instalarlo fácilmente usando el Administrador de paquetes para su distribución:

  • Para los sistemas basados ​​en Debian/Ubuntu:
    sudo apt-get install sysstat  
  • Para sistemas basados ​​en Rhel/Centos/Fedora:
    sudo yum instalación sysstat  

Uso básico

La sintaxis básica del comando iostat es la siguiente:

iostat [opciones] [dispositivos] [intervalo] [recuento]
1iostat [opciones] [dispositivos] [intervalo] [recuento]
  • opción: Banderos que modifican el comportamiento del comando o especifican el tipo de información para mostrar.
  • dispositivos: Los dispositivos para los que desea mostrar estadísticas de E/S. Por defecto, Iostat muestra estadísticas para todos los dispositivos.
  • intervalo: El intervalo de tiempo (en segundos) entre actualizaciones. Por defecto, Iostat muestra un solo informe.
  • contar: El número de actualizaciones para mostrar antes de salir. Por defecto, Iostat continuará ejecutándose indefinidamente si se especifica un intervalo.

Para mostrar estadísticas básicas de E/S de CPU y disco, simplemente ejecute el comando sin ninguna opción:

iostat  

Comprender la producción de iostat

La salida del comando iostat se divide en dos secciones: estadísticas de CPU y estadísticas del dispositivo.

Estadística de CPU

  • %usuario: El porcentaje de tiempo que pasó la CPU ejecutando procesos a nivel de usuario.
  • %lindo: El porcentaje de tiempo que pasó la CPU ejecutando procesos a nivel de usuario con un valor agradable positivo.
  • %sistema: El porcentaje de tiempo que la CPU pasó ejecutando procesos a nivel de sistema.
  • %IOWAIT: El porcentaje de tiempo que la CPU pasó esperando que las operaciones de E/S completen.
  • %robar: El porcentaje de tiempo que la CPU pasó en una espera involuntaria mientras el hipervisor sirvió a otro procesador virtual.
  • %inactivo: El porcentaje de tiempo que la CPU estaba inactivo.

Estadística del dispositivo

  • Dispositivo: El nombre del dispositivo (E.gramo., SDA, SDB).
  • TPS: El número de transferencias por segundo (solicitudes de E/S) enviadas al dispositivo.
  • kb_read/s: El número de kilobytes se lee del dispositivo por segundo.
  • KB_WRTN/S: El número de kilobytes escritos en el dispositivo por segundo.
  • KB_read: El número total de kilobytes se lee desde el dispositivo.
  • KB_WRTN: El número total de kilobytes escritos en el dispositivo.
  • Ejemplos prácticos

    • Monitorear estadísticas de E/S para dispositivos específicos (E.gramo., SDA y SDB) cada 2 segundos:
      iostat -d sda sdb 2  
    • Mostrar estadísticas de E/S de disco extendido:
      iostat -x  
    • Mostrar solo estadísticas relacionadas con la CPU:
      iostat -c  
    • Mostrar estadísticas de E/S para todos los dispositivos e incluya una marca de tiempo para cada informe:
      iostat -t  
    • Muestre las estadísticas promedio ya que el sistema se inició por última vez:
      iostat -y  
    • Monitorear estadísticas de E/S para dispositivos específicos (E.gramo., SDA y SDB) cada 5 segundos para un total de 10 actualizaciones:
      Iostat SDA SDB 5 10  

    Interpretación de la salida de iostat

    Comprender el resultado del iostat es esencial para identificar problemas de rendimiento y optimizar su sistema. Aquí hay algunas pautas para ayudarlo a interpretar los resultados:

    • Alto %iowait: Un valor de alto %de iowait indica que la CPU está pasando una cantidad significativa de tiempo esperando que las operaciones de E/S completen. Esto podría ser un signo de un cuello de botella de E/S, que puede requerir optimizar sus aplicaciones, actualizar su sistema de almacenamiento o distribuir la carga en múltiples discos.
    • TPS alto: Un alto número de transferencias por segundo (TPS) sugiere que el disco está experimentando una gran actividad de E/S. Si el valor TPS es consistentemente alto, considere optimizar sus aplicaciones, actualizar su sistema de almacenamiento o distribuir la carga en múltiples discos.
    • Alto kb_read/sy kb_wrtn/s: Valores altos para kb_read/sy kb_wrtn/s indican que el disco está leyendo y escribiendo una gran cantidad de datos. Si estos valores son consistentemente altos, puede ser una indicación de un cuello de botella de E/S, lo que puede requerir optimizar sus aplicaciones o actualizar su sistema de almacenamiento.
    • Alto %de usuario y sistema de %: Valores altos para %usuarios y %el sistema sugieren que la CPU está gastando una cantidad significativa de tiempo ejecutando procesos de usuario y sistema. Si estos valores son consistentemente altos, considere optimizar sus aplicaciones o actualizar su CPU.

    Conclusión

    Iostat es una herramienta de monitoreo potente y versátil para los sistemas Linux, que proporciona información valiosa sobre el rendimiento de CPU y E/S de disco. Al comprender el resultado del iostat y usarlo para diagnosticar problemas potenciales de rendimiento, puede optimizar su sistema y asegurarse de que se ejecute sin problemas y eficientemente.