GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo monitorear el rendimiento de los sistemas Linux con el comando iostat

El comando iostat se usa para monitorear la utilización de la CPU y las estadísticas de E/S (entrada/salida) de todos los discos y sistemas de archivos. El comando nfsiostat se usa para monitorear las estadísticas de E/S del sistema de archivos de red (NFS).

El comando iostat monitorea la carga de los dispositivos de E/S (Entrada/Salida) observando el tiempo en que los dispositivos están activos con respecto a sus tasas de transferencia promedio. Este comando es especialmente útil para generar informes que podemos usar para optimizar la carga de entrada y salida del sistema.

El comando iostat generalmente genera dos informes:

  • Informe de uso de la CPU
  • Informe de estadísticas de E/S de todos los discos

Para generar los informes, el comando iostat lee algunos de los archivos del sistema. Estos archivos son,

  • /proc/diskstats para estadísticas de disco
  • /proc/stat para estadísticas del sistema
  • /sys para bloquear estadísticas de dispositivos
  • /proc/devices para nombres de dispositivos persistentes
  • /proc/self/mountstats para todos los sistemas de archivos de red
  • /proc/uptime para obtener información sobre el tiempo de actividad del sistema

En este tutorial, aprenderemos cómo instalar la utilidad iostat en sistemas Linux y luego discutiremos cómo generar informes usando el comando iostat,

Instalación de Iostat en sistemas Linux:

iostat es parte de 'sysstat ‘ paquete, podemos instalarlo en nuestro sistema usando el siguiente comando,

CentOS/RedHat

[[email protected] ~]# yum install sysstat -y

Ubuntu/Debian

$ sudo apt-get install sysstat -y

Fedora

[[email protected] ~]# dnf install sysstat -y

Ahora veamos algunos ejemplos para comprender mejor el comando iostat.

Ejemplo:1 Obtenga estadísticas completas (CPU y dispositivos)

Para obtener las estadísticas completas del sistema, abra la terminal y ejecute el siguiente comando,

[[email protected] ~]# iostat

Esto producirá el siguiente resultado en la pantalla,

Aquí en la salida del comando iostat,

  • %user, es la utilización de CPU para el usuario,
  • %nice, es la utilización de CPU para aplicaciones con buena prioridad,
  • %system, es la CPU utilizada por el sistema,
  • %iowait, es el porcentaje de tiempo durante el cual la CPU estuvo inactiva pero hubo una solicitud de E/S pendiente,
  • %steal, porcentaje de tiempo que la CPU estuvo esperando mientras el hipervisor estaba trabajando en otra CPU,
  • %idle, es el porcentaje de tiempo que el sistema estuvo inactivo sin ninguna solicitud pendiente.

Dispositivos, muestra el nombre de todos los dispositivos en el sistema,

  • Tps, es la abreviatura de transferencia por segundo,
  • Blk_read/s y Blk_write/s son la velocidad de transferencia para operaciones de lectura y escritura,
  • Blk_read &Blk_write muestra el número total de bloques leídos y escritos.

Ejemplo:2 Generar solo estadísticas de CPU

Para generar solo las estadísticas de CPU para el sistema, usaremos las opciones 'c' con iostat. Ejecute el siguiente comando desde la terminal,

[[email protected] ~]# iostat -c

Ejemplo:3 Para generar estadísticas de E/S para todos los dispositivos (opción -d) 

Para obtener el informe de iostat solo para los dispositivos conectados en el sistema, usaremos la opción 'd' con el comando iostat,

[[email protected] ~]# iostat -d

Ejemplo:4 Generar estadísticas detalladas de E/S

Aunque generalmente las estadísticas proporcionadas por el comando iostat son suficientes, si desea obtener estadísticas aún más detalladas, podemos usar la opción '-x' junto con el comando iostat. El ejemplo se muestra a continuación,

[[email protected] ~]# iostat -x

Ejemplo:5 Genere informes detallados para dispositivos y CPU por separado

Para obtener información detallada sobre los dispositivos en el sistema, usaremos la opción 'd' junto con la opción 'x',

[[email protected] ~]# iostat -xd

De manera similar, para generar la información detallada para la CPU, usaremos las opciones 'c' y 'x',

[[email protected] ~]# iostat -xc

Ejemplo:6 Obtener estadísticas de E/S para un solo dispositivo

iostat también puede proporcionar estadísticas de E/S para un solo dispositivo. Para obtener las estadísticas de un dispositivo, ejecute el comando iostat junto con la opción 'p' seguida del nombre del dispositivo,

[[email protected] ~]# iostat -p sda

Ejemplo:7 Generar informes en MB o KB

También podemos generar las estadísticas del sistema en unidades de Megabytes o kilobytes. Para generar los reportes en mb, usaremos la opción ‘m’ con el comando iostat,

[[email protected] ~]# iostat -m

Del mismo modo, también podemos generar los informes en formato de unidad kb con la opción 'k',

[[email protected] ~]# iostat -k

Ejemplo:8 Generación del informe de estadísticas de E/S del sistema con retraso

Para capturar las estadísticas del sistema con un retraso, podemos mencionar el comando iostat seguido del intervalo en segundos y la cantidad de informes requeridos,

[[email protected] ~]# iostat 3 2

En este ejemplo, estamos capturando 2 informes en un intervalo de 3 segundos,

También podemos usar el parámetro de retraso junto con otras opciones del comando iostat que discutimos anteriormente.

Ejemplo:9 Generar el informe de estadísticas LVM

Para generar las estadísticas LVM, podemos usar la opción 'N' con el comando iostat,

[[email protected] ~]# iostat -N

Ejemplo:10 Generar los informes solo para dispositivos activos

También podemos generar informes para los dispositivos que están activos y omitir los dispositivos de los informes que están inactivos durante el período de muestra. Usaremos la opción 'z' con el comando iostat para lograr esto,

[[email protected] ~]# iostat -z 2 5

Ejemplo:11 Generar informes de iostat con marca de tiempo

Para generar los informes de iostat con una marca de tiempo, usaremos la opción 't' junto con el comando iostat,

[[email protected] ~]# iostat -t

Ejemplo:12 Generar informe de estadísticas basado en el nombre del dispositivo persistente

Para obtener el informe basado en el nombre persistente del dispositivo, usaremos la opción 'j' seguida de la palabra clave 'ID' y el nombre persistente del dispositivo,

Use el comando blkid para encontrar el UUID del disco.

Una vez que encuentre el UUID / ID, use el siguiente comando iostat,

[[email protected] ~]# iostat -j id 12244367-e751-4c1c-9336-f30d623fceb8

Ejemplo:13 Generar estadísticas de E/S para Network File System (NFS)

Podemos usar el comando nfsiostat para generar los informes de estadísticas de E/S de NFS. El comando nfsiostat es parte del paquete 'nfs-utils'. Supongamos que hemos montado dos recursos compartidos NFS en nuestro servidor, por lo que para generar el informe de estadísticas para el recurso compartido NFS, ejecute el siguiente comando,

[[email protected] ~]# nfsiostat

Ejemplo:14 Generar un informe de estadísticas de E/S del sistema durante un período de tiempo

El comando iostat genera las estadísticas de E/S en vivo de su sistema y si desea ver los informes de estadísticas durante un período de tiempo (estadísticas de E/S del sistema de fecha anterior), entonces debemos usar la utilidad sar. El comando Sar también lo proporciona el paquete 'sysstat'

Eso es todo, hemos cubierto todas las opciones/parámetros que se pueden usar con el comando iostat. Puede intentar mezclar estas opciones para obtener resultados más deseados/detallados. Mencione cualquier consulta o pregunta que tenga sobre el tutorial.


Linux
  1. Cómo monitorear el rendimiento del sistema Linux con Sysstat

  2. Cómo monitorear la seguridad del servidor Linux con Osquery

  3. Cómo encontrar archivos con el comando fd en Linux

  4. ¿Cómo monitorear el uso de la red con nload en Linux?

  5. Cómo ver el rendimiento pasado con sar en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo enumerar los sistemas de archivos en Linux con lfs

Cómo monitorear sus servidores Linux con Checkmk

Cómo monitorear el estado del servidor Linux con herramientas de línea de comandos