Ver destacados

Cómo instalar y usar iostat en Ubuntu 17 Linux

Te enseñamos paso a paso cómo instalar y usar el comando iostat para controlar tu CPU en Ubuntu 19 de Linux.
Escrito por
6.8K Visitas  |  Publicado ene 23 2018 11:56
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Al realizar tareas de administración en ambientes Linux es ideal y recomendable contar con herramientas y utilidades que nos permitan tener un control mucho más preciso sobre los datos a analizar ya que así simplificamos y ordenamos nuestra tarea permitiéndonos obtener resultados mucho más exactos.

 

Una de estas utilidades es iostat y hoy en Solvetic analizaremos como podemos hacer uso de ella para obtener informes directos, claros y totalmente fiables de los elementos que gestionamos en nuestra organización sin importar la distribución usada, en este caso usaremos Ubuntu 17.10 Server.

 

Qué es iostat
Iostat (input/output statistics – estadísticas de entrada / salida) es una utilidad mediante la cual será posible obtener información sobre componentes de entrada y salida del sistema brindando la posibilidad al administrador o usuario de identificar problemas de rendimiento tanto del disco local, discos remotos o información general del sistema operativo.

 

Al usar este comando, este puede ser usado para controlar la carga del dispositivo de entrada / salida del sistema observando el tiempo que estos dispositivos están activos en relación con sus tasas de transferencia promedio dentro del sistema.

 

Cuando usamos iostat, será posible generar informes que pueden ser usados para cambiar la configuración del sistema y equilibrar de una forma mucho más eficiente la carga de entrada y/o salida entre los discos físicos.

 

El primer informe generado por el comando iostat nos brinda estadísticas sobre el tiempo general desde que se inició el proceso de arranque del sistema, así, cada informe posterior cubre el tiempo transcurrido desde el informe anterior; Todas las estadísticas serán informadas cada vez que ejecutamos el comando iostat.

 

Este informe consiste en una fila de encabezado de CPU seguida de una fila de estadísticas de CPU y, si contamos con sistemas multiprocesador, las estadísticas de CPU se calculan en todo el sistema como promedios entre todos los procesadores existente y luego será desplegada una fila de encabezados de los dispositivos seguida de una línea de estadísticas para cada dispositivo configurado.

 


1. Instalar iostat en Ubuntu 17.10


Por defecto en esta distribución, iostat está incluido dentro del paquete sysstat de Ubuntu y podremos instalarlo de forma simple ejecutando el siguiente comando:
sudo apt install sysstat -y

 

 


2. Usar iostat en Ubuntu 17.10

 

Paso 1

El primer comando que podemos ejecutar es iostat el cual desplegará información sobre el uso de la CPU y las estadísticas de E/S de Ubuntu 17.10:

 

 

Paso 2

Allí veremos detalles como:
  • En la primera línea la versión del kernel de Linux y el nombre de host.
  • En las siguientes dos líneas veremos estadísticas de la CPU, tales como el uso promedio de la CPU, el porcentaje de tiempo que la CPU estuvo inactiva y la respuesta de E/S, el porcentaje de tiempo de espera de la CPU virtual y el porcentaje de tiempo que la CPU está inactiva dentro del sistema.
  • En las últimas dos líneas podremos ver el informe de utilización del dispositivo, como el número de bloques de lectura y escritura por segundo y el total de lecturas de bloque y escritura por segundo que han sido ejecutadas en dicho dispositivo.

 

Paso 3

Por defecto, el comando iostat genera el informe con la fecha actual, por ello, si deseamos desplegar la hora actual, será necesario usar el siguiente comando:
iostat -t

 

Paso 4

En el momento en que deseemos verificar la versión de iostat basta con ejecutar lo siguiente:
iostat -V

 

Paso 5

No esta demás mencionar que, para ver todas las opciones, las cuales indicaremos más adelante, podemos usar la siguiente línea:
iostat –help

 

 


3. Usar modo avanzado iostat en Ubuntu 17.10


En algunos casos podemos hacer uso de algunos parámetros un poco más avanzados dependiendo del tipo de requerimiento solicitado, algunas de estas opciones son las siguientes.

 

Paso 1

Si deseamos ver el informe de un dispositivo una sola vez, ejecutaremos el siguiente comando:
iostat -d

 

Paso 2

Para ver el informe de este dispositivo continuamente cada 7 segundos, por 4 veces seguidas ejecutaremos la siguiente línea:
iostat -d 7 4

 

Paso 3

Si deseamos ver las estadísticas de dispositivos específicos, usaremos el siguiente comando:
iostat -p sda

 

Paso 4

Podremos ver las estadísticas de diversos dispositivos a la vez ejecutando lo siguiente:
iostat -p sda, sdb, sdc
Paso 5

Para obtener las estadísticas de E/S del dispositivo en MB/segundo, ejecutaremos el siguiente comando:
iostat -m

 

Paso 6

Para obtener la información específica de una partición extendida debemos hacer uso del siguiente comando:
iostat -x “partición”

 

Paso 7

Para desplegar las estadísticas de uso de CPU el comando a usar será el siguiente:
iostat -c

 

 


4. Reportes de iostat en Ubuntu 17.10


Ahora, podemos ver que cada una de las opciones a usar son prácticas, pero cada línea contiene un determinado valor que a simple vista no podremos comprender muy bien, es por eso que Solvetic explicara que significa cada uno de estos valores para comprender aún mejor los resultados generados por iostat comprendiendo que el comando iostat genera tres tipos de informes que son:
  • El informe de utilización de CPU
  • El informe de uso de dispositivos
  • El informe del sistema de archivos de red

 

Paso 1

Ahora, los valores son los siguientes. En el primer informe generado por el comando iostat, tenemos detalles de utilización de la CPU. Para sistemas multiprocesador, los valores de CPU son promedios globales entre todos los procesadores activos. El informe tiene el siguiente formato:

 

%user
Despliega el porcentaje de uso de la CPU que se produjo durante la ejecución en el nivel de usuario (aplicación).

 

%nice
Refleja el porcentaje de uso de la CPU que se produjo al ejecutar en el nivel de usuario con alta prioridad.

 

%system
Muestra el porcentaje de uso de la CPU que se produjo durante la ejecución en el nivel del sistema (kernel).

 

%iowait
Despliega el porcentaje de tiempo que la CPU o las CPU estuvieron inactivas durante las cuales el sistema tuvo una solicitud de E/S de disco pendiente.

 

%steal
Despliega el porcentaje de tiempo pasado en una espera involuntaria por la CPU o CPU virtuales mientras el hipervisor estaba dando servicio a otro procesador virtual.

 

%idle
Muestra el porcentaje de tiempo que la CPU o las CPU estaban inactivas y en las cuales el sistema no tenía una solicitud de E/S de disco pendiente.

 

Paso 2

El segundo informe generado por el comando iostat es el Informe de utilización del dispositivo en este informe del dispositivo se proporcionan estadísticas por dispositivo físico o por partición. El informe puede mostrar los siguientes campos, dependiendo de los indicadores usados:

 

Device
En esta columna se proporciona el nombre del dispositivo (o partición), que se muestra como hdiskn para núcleos 2.2, para el enésimo dispositivo. Se muestra como devm-n con núcleos 2.4, donde m es el número principal del dispositivo y n un número distintivo. Con kernels más nuevos, se desplegará el nombre del dispositivo como se muestra en el directorio /dev.

 

tps
Indica la cantidad de transferencias por segundo que ingresaron al dispositivo. Una transferencia es una solicitud de E/S al dispositivo, esta se puede combinar con múltiples solicitudes lógicas en una sola solicitud de E/S para el dispositivo. Una transferencia es de tamaño indeterminado.

 

Blk_read/s
Hace referencia a la cantidad de datos leídos desde el dispositivo expresados en una cantidad de bloques por segundo. Los bloques son equivalentes a los sectores con kernels 2.4 y posteriores y, por ello, tienen un tamaño de 512 bytes. Con núcleos más viejos, un bloque tiene un tamaño indeterminado.

 

Blk_wrtn/s
Indica la cantidad de datos escritos en el dispositivo expresados en varios bloques por segundo.

 

Blk_read
Es el número total de bloques leídos.

 

Blk_wrtn
Es el número total de bloques escritos.

 

kB_read/s
Indica la cantidad de datos leídos del dispositivo expresados en kilobytes por segundo.

 

kB_wrtn/s
Indica la cantidad de datos escritos en el dispositivo expresados en kilobytes por segundo.

 

kB_read
Es la cantidad total de kilobytes leídos.

 

kB_wrtn
Es la cantidad total de kilobytes escritos.

 

MB_read/s
Hace referencia a la cantidad de datos leídos desde el dispositivo expresados en megabytes por segundo.

 

MB_wrtn/s
Hace referencia a la cantidad de datos escritos desde el dispositivo expresados en megabytes por segundo.

 

MB_read
Es la cantidad total de megabytes leídos.

 

MB_wrtn
Es la cantidad total de megabytes escritos.

 

rrqm/s
Es el número de solicitudes de lectura fusionadas por segundo que se pusieron en la cola del dispositivo.

 

wrqm/s
Es el número de solicitudes de escritura fusionadas por segundo que se pusieron en la cola del dispositivo.

 

r/s
Es la cantidad de solicitudes de lectura que se emitieron al dispositivo por segundo.

 

w/s
Es la cantidad de solicitudes de escritura que se emitieron al dispositivo por segundo.

 

rsec/s
Son la cantidad de sectores leídos del dispositivo por segundo.

 

wsec/s
Son la cantidad de sectores escritos del dispositivo por segundo.

 

rkB/s
Son la cantidad de kilobytes leídos del dispositivo por segundo.

 

wkB/s
Son la cantidad de kilobytes escritos del dispositivo por segundo.

 

rMB/s
Son La cantidad de megabytes leídos del dispositivo por segundo.

 

wMB/s
Son La cantidad de megabytes escritos del dispositivo por segundo.

 

avgrq-sz
Es el tamaño promedio (en sectores) de las solicitudes que se emitieron al dispositivo.

 

avgqu-sz
Es la duración media de la cola de las solicitudes que se emitieron al dispositivo.

 

await
Es el tiempo promedio (en milisegundos) para las solicitudes de E/S emitidas para el dispositivo a ser servido en el sistema.

 

svctm
Es el tiempo de servicio promedio (en milisegundos) para las solicitudes de E/S que se emitieron al dispositivo.

 

%util
Indica el porcentaje de tiempo de CPU durante el cual se emitieron solicitudes de E/S al dispositivo (uso del ancho de banda para el dispositivo). La saturación del dispositivo ocurre cuando este valor está cerca del 100%.

 

Paso 3

El tercer reporte de iostat es el informe del Sistema de archivos de red (NFS) el cual proporciona estadísticas para cada sistema de archivos de red montado en el sistema. El informe muestra los siguientes campos:

 

Filesystem
Esta columna despliega el nombre de host del servidor NFS seguido de dos puntos y el nombre del directorio donde está montado el sistema de archivos de la red.

 

rBlk_nor/s
Indica el número de bloques leídos por las aplicaciones a través de la interfaz de llamada al sistema de lectura, un bloque tiene un tamaño de 512 bytes.

 

wBlk_nor/s
Indica el número de bloques escritos por las aplicaciones a través de la interfaz de llamada del sistema de escritura.

 

rBlk_dir/s
Hace referencia a la cantidad de bloques leídos desde archivos abiertos con el indicador O_DIRECT.

 

wBlk_dir/s
Indica la cantidad de bloques escritos en archivos abiertos con el indicador O_DIRECT.

 

rBlk_svr/s
Hace referencia a el número de bloques leídos del servidor por el cliente NFS a través de una solicitud de lectura de NFS.

 

wBlk_svr/s
Indica la cantidad de bloques escritos en el servidor por el cliente NFS a través de una solicitud NFS WRITE.

 

ops/s
Indica la cantidad de operaciones que se emitieron al sistema de archivos por segundo.

 

rops/s
Indica el número de operaciones de 'lectura' que se emitieron al sistema de archivos por segundo.

 

wops/s
Hace referencia a el número de operaciones de 'escritura' que se emitieron al sistema de archivos por segundo.

 


5. Parámetros generales de iostat en Ubuntu 17.10


Los parámetros que podemos usar con iostat son:

 

-c
Genera el informe de uso de la CPU.

 

-d
Genera el informe de uso del dispositivo.

 

-h
Permite que el informe NFS se muestre por opción: es más fácil de leer para un humano.

 

-k
Despliega las estadísticas en kilobytes por segundo en lugar de bloques por segundo. Los datos mostrados son válidos solo con kernels 2.4 y posteriores.

 

-m
Genera estadísticas en megabytes por segundo en lugar de bloques o kilobytes por segundo. Los datos mostrados son válidos solo con kernels 2.4 y posteriores.

 

-n
Despliega el informe del sistema de archivos de red (NFS). Esta opción solo funciona con kernel 2.6.17 y versiones posteriores.

 

-p
[ { device [,...] | ALL } ]: La opción -p despliega las estadísticas de los dispositivos de bloque y todas sus particiones que son usadas el sistema. Si añadimos un nombre de dispositivo en la línea de comando, serán desplegadas las estadísticas y todas sus particiones. Por último, la palabra clave ALL indica que las estadísticas deben mostrarse para todos los dispositivos y particiones de bloques definidos por el sistema.

 

-t
Imprime la hora de cada informe que se genera. El formato de marca de tiempo puede depender del valor de la variable de entorno S_TIME_FORMAT.

 

-V
Imprime la versión de iostat usada.

 

-x
Despliega estadísticas extendidas.

 

-z
Indica a iostat que omita la salida de cualquier dispositivo para el que no haya actividad durante el período de muestra seleccionado.

 

Como vemos, iostat es más que una simple utilidad del sistema, debemos sacar el máximo beneficio de ella y de este modo administrar de una forma mucho más completa nuestros sistemas operativos.

 

Manual completo de comandos para obtener información de la CPU en Linux.

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!