LINUX

10 Comando iostat de Linux para informar estadísticas de CPU y E / S

comando linux iostat

El comando Iostat es un comando que se usa para monitorear la carga del dispositivo de entrada / salida (E / S) del sistema al observar el tiempo que los dispositivos están activos en relación con sus tasas de transferencia promedio. El iostat crea informes que se pueden utilizar para cambiar la configuración del sistema para equilibrar mejor la entrada / salida entre los discos físicos.

Iostat está incluido en sysstat paquete. Si no lo tiene, primero debe instalarlo.

En RedHat / CentOS / Fedora

#  yum install sysstat

En Debian / Ubuntu / Linux Mint

# apt-get install sysstat

Cuando el comando se ejecuta sin argumentos, genera un informe detallado que contiene información desde que se inició el sistema. Puede proporcionar dos parámetros opcionales para cambiar esto:

# iostat [option] [interval] [count]
  • intervalo El parámetro especifica la duración en segundos entre cada informe.
  • Contar El parámetro le permite especificar el número de informes que se generan antes de que iostat salga.

Cuando el comando se ejecuta por primera vez con estos argumentos, el primer informe contiene información desde que se inició el sistema, mientras que cada informe subsiguiente cubre el período de tiempo desde que se generó el último informe.

# iostat 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.65    0.00    0.18    0.02    0.00   99.15

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.88         4.29         7.07     217829     358600

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.01    0.00    0.50    0.00    0.00   98.49

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.50         0.00         2.01          0          4

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.00    0.00    0.50    0.00    0.00   96.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         0.00        30.00          0         60

1) Obtener informe y estadística

Para ejecutarlo, simplemente use el comando en su consola. Aquí tienes una muestra.

# iostat
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/22/2017 	_x86_64   (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.08

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.40        14.08    1552428    6423128

La primera sección contiene el informe de la CPU

  • % usuario: porcentaje de utilización de CPU que se produjo durante la ejecución a nivel de usuario (aplicación)
  • %bonito : porcentaje de utilización de CPU que se produjo durante la ejecución a nivel de usuario con buena prioridad
  • %sistema : porcentaje de utilización de CPU que se produjo durante la ejecución en el nivel del sistema (kernel)
  • % iowait: porcentaje del tiempo que la CPU o las CPU estuvieron inactivas durante el cual el sistema tuvo una solicitud de E / S de disco pendiente
  • %robar : porcentaje de tiempo invertido en espera involuntaria por la CPU virtual o las CPU mientras el hipervisor estaba dando servicio a otro procesador virtual
  • %inactivo : porcentaje de tiempo que la CPU o las CPU estuvieron inactivas y el sistema no tuvo una solicitud de E / S de disco pendiente

La segunda sección contiene el informe de utilización del dispositivo.

  • Dispositivo : nombre de dispositivo / partición como se indica en / dev directorio
  • tps: número de transferencias por segundo que se emitieron al dispositivo. Un tps más alto significa que el procesador está más ocupado
  • Blk_read / s: mostrar la cantidad de datos leídos desde el dispositivo expresada en una cantidad de bloques (kilobytes, megabytes) por segundo
  • Blk_wrtn / s: cantidad de datos escritos en el dispositivo expresados ​​en varios bloques (kilobytes, megabytes) por segundo
  • Blk_read: muestra el número total de bloques leídos
  • Blk_wrtn: muestra el número total de bloques escritos

iostat utiliza los archivos siguientes para crear informes.

  • /proc/stat contiene estadísticas del sistema.
  • /proc/uptime contiene el tiempo de actividad del sistema.
  • /proc/diskstats contiene estadísticas de discos.
  • /sys contiene estadísticas para dispositivos de bloque.
  • /proc/self/mountstats contiene estadísticas para sistemas de archivos de red.
  • /dev/disk contiene nombres de dispositivos persistentes.

2) Mostrar más información de estadísticas de detalles

El comando Iostat proporciona a los dispositivos de E / S la utilización de informes. Es posible extender el resultado estadístico para un diagnóstico en profundidad con -x opción

# iostat -x
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.69    0.00    0.19    0.02    0.04   99.06

Device: rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
vda     0.01     1.10    0.16    0.84     3.37    14.04    34.88     0.00    2.35    1.41    2.53   0.40   0.04
  • avg-cpu: es la información del bloque de cpu
  • Divide: es información de bloque de dispositivo. Para estar seguro de que estás en el buen dispositivo
  • % util: cuánto tiempo tuvo el dispositivo de almacenamiento trabajo pendiente (estuvo ocupado).
  • svctm: indica qué tan rápido responde su subsistema de E / S a las solicitudes en general cuando está ocupado. En realidad, cuanto menos cargue su sistema, mayor será el svctm.
  • esperar: indica qué tan rápido pasan las solicitudes. Es solo un promedio.
  • avgqu-sz: cuántas solicitudes hay en una cola de solicitudes. Bajo = su sistema no está cargado o ha serializado E / S y no puede utilizar el almacenamiento subyacente correctamente. Alto = su pila de software es lo suficientemente escalable para cargar correctamente las E / S subyacentes.
  • avgrq-sz: Solo un tamaño de solicitud promedio. puede indicar qué tipo de carga de trabajo ocurre.
  • wsec / s Y rsec / s: Sectores leídos y escritos por segundo. Divida entre 2048 y obtendrá megabytes por segundo.
  • r / s Y w / s: Leer y escribir solicitudes por segundo. Estos números son los que representan las cifras de capacidad de E / S, aunque, por supuesto, dependiendo de la presión que reciba el subsistema de E / S subyacente (¡tamaño de la cola!), Pueden variar.
  • rrqm / s Y wrqm / s: Cuántas solicitudes se fusionaron por capa de bloque.

3) Mostrar solo la estadística de la CPU

Es posible mostrar información estadística e informe de nuestra CPU con -c opción

$ iostat -c
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.93    0.08    2.40    3.35    0.00   81.24

4) Mostrar solo el informe del dispositivo

Solo es posible mostrar el estado de la utilización del dispositivo con -d opción. Enumerará información para cada dispositivo conectado

$ iostat -d
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              17.73       510.80       632.10    5127420    6345037
mmcblk0           0.03         0.63         0.00       6282          0

5) Mostrar estadísticas de E / S extendidas solo para dispositivos

Podemos mostrar estadísticas extendidas en un lado y desde el otro lado podemos mostrar estadísticas extendidas. Significa que podemos mostrar estadísticas extendidas solo para dispositivos con -xd opción de la siguiente manera

$ iostat -xd
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.48    25.33    8.43    7.81   417.06   540.42   117.88     1.18   72.83   35.98  112.62   6.18  10.03
mmcblk0           0.30     0.00    0.02    0.00     0.49     0.00    49.47     0.00    3.73    3.73    4.00   2.99   0.01

6) Capture las estadísticas en kilobytes o megabytes

De forma predeterminada, iostat mide el sistema de E / S con unidades de bytes. Para que sea más fácil de leer, podemos convertir iostat para que nos muestre informes en unidades de kilobytes o megabytes.

Solo agrega -k parámetro para crear informes con unidad de kilobytes

$ iostat -k
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.18       345.76       504.55    5622164    8204113
mmcblk0           0.02         0.39         0.00       6282          0

y -m parámetro para crear informes con unidad de megabytes.

$ iostat -m
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          12.54    0.08    2.37    3.41    0.00   81.61

Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              16.18         0.34         0.49       5490       8012
mmcblk0           0.02         0.00         0.00          6          0

7) Mostrar estadísticas de la CPU y el dispositivo con retraso

Lo mismo con vmstat, como herramienta estadística, la mejor manera de usarla es con el parámetro de retardo. Con retraso, podemos ver cuál es la tendencia. Aquí hay algunas muestras para ejecutar iostat con retraso.

Ejecute iostat con la unidad de kilobytes, intervalo de 2 segundos con informes de 3 veces

# iostat -k 2 3
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.70    0.00    0.19    0.02    0.03   99.05

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.00         3.33        14.03    1561788    6572152

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.50    0.00    0.00    0.00    0.00   99.50

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.00         0.00         0.00          0          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           3.52    0.00    0.50    0.00    0.00   95.98

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               1.51         0.00        12.06          0         24

Mostrar informe solo de CPU con intervalos de 2 segundos y informes de 2 veces

# iostat -c 2 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos-01) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.71    0.00    0.19    0.02    0.03   99.05

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.50    0.00    0.00    0.00    0.00   98.50

Muestre solo el informe del dispositivo sda6 y sda7 con un intervalo de 2 segundos y 2 informes

$ iostat -d sda7 sda6 2 2
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              3.40       108.29       130.75    1928577    2328496
sda7             12.19       211.96       305.79    3774804    5445696

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda6              0.00         0.00         0.00          0          0
sda7              1.00         0.00        24.00          0         48

8) Mostrar estadísticas de nombres de dispositivos persistentes

Es posible imprimir el informe por nombre de dispositivo. En lugar del estándar /dev/sda nombre, imprimirá el nombre del dispositivo persistente con -j parámetro y agregando ID palabra clave (especifique el tipo de nombre persistente).

$ iostat -j ID mmcbkl0 sda6 -x -m 2 2 
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.33    0.10    2.48    3.26    0.00   79.83

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.19     0.88    2.51    0.82     0.10     0.12   138.36     0.21   61.81   57.12   76.12  10.81   3.60

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          19.40    0.00    1.25    0.63    0.00   78.72

Device:  rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
ata-ST500LT012-1DG142_S3P4312X-part6
         0.00     0.00    0.00    0.00     0.00     0.00     0.00     0.00    0.00    0.00    0.00   0.00   0.00

9) Mostrar estadísticas para dispositivos de bloque

Es posible mostrar información directamente para cada dispositivo de bloque de forma automática. No es necesario indicar el nombre de cada dispositivo. Mostrará estadísticas para los dispositivos de bloque y todas sus particiones que son utilizadas por el sistema. Si se ingresa un nombre de dispositivo en la línea de comando, se muestran las estadísticas para él y todas sus particiones. Solo usa -p opción

$ iostat -p
Linux 4.4.0-78-generic (shinigami) 	05/23/2017 	_x86_64_	(4 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          14.93    0.10    2.51    3.19    0.00   79.28

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              15.82       297.18       474.87    5928512    9473117
sda1              0.00         0.11         0.00       2108          0
sda2              0.01         0.28         0.00       5679          1
sda3              0.00         0.10         0.00       2084          0
sda4              0.00         0.10         0.00       2092          0
sda5              0.09         0.77        45.62      15428     910068
sda6              3.26       102.76       117.09    2049957    2335908
sda7             12.09       192.75       306.99    3845120    6124136
sda8              0.12         0.20         5.16       3896     103004
mmcblk0           0.01         0.31         0.00       6282          0
mmcblk0p1         0.01         0.26         0.00       5242          0
$ iostat -p sdf 1 2
Linux 3.10.0-514.16.1.el7.x86_64 (centos7-srv) 	05/23/2017 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           7.18    0.41    3.94    4.10    0.00   84.37

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.47         3.54         0.00       4656          0
sdf1              0.09         0.70         0.00        920          0
sdf2              0.09         0.69         0.00        904          0
sdf3              0.09         0.69         0.00        904          0
sdf4              0.09         0.69         0.00        904          0

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           6.00    1.00    2.00    0.00    0.00   91.00

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdf               0.00         0.00         0.00          0          0
sdf1              0.00         0.00         0.00          0          0
sdf2              0.00         0.00         0.00          0          0
sdf3              0.00         0.00         0.00          0          0
sdf4              0.00         0.00         0.00          0          0

10) Mostrar información estadística lvm2

Es posible ver la estadística LVM con -N opción. El comando muestra los nombres de los mapeadores de dispositivos registrados para cualquier dispositivo mapeador de dispositivos.

Conclusión

Podemos decirle a iostat que omita la salida para cualquier dispositivo para el que no hubo actividad durante el período de muestra con -z opción.

Una de las ventajas de esta herramienta es que puede ejecutarlas sin privilegios de root. Puede profundizar más explorando la página del manual de iostat escribiendo hombre iostat en su consola para traer la página del manual de iostat.

Leer también:

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar