GNU/Linux >> Tutoriales Linux >  >> Linux

Informes de E/S desde la línea de comandos de Linux

Si ha seguido mis publicaciones aquí en Enable Sysadmin, sabe que anteriormente trabajé como ingeniero de soporte de almacenamiento. Una de mis muchas tareas en esa función era ayudar a los clientes a replicar las copias de seguridad de sus entornos de producción en matrices de almacenamiento de copias de seguridad dedicadas. Muchas veces, los clientes me contactaban preocupados por la velocidad de la transferencia de datos desde la producción hasta el almacenamiento.

Ahora, si alguna vez ha trabajado en apoyo, sabe que puede haber muchas causas para un síntoma. Sin embargo, el rendimiento de un sistema puede tener enormes implicaciones para las transferencias masivas de datos. Si todo está bien, estamos hablando de horas, si no... He visto que un solo trabajo de replicación lleva meses.

Sabemos que Linux está repleto de herramientas útiles para todo tipo de problemas. Para el monitoreo de entrada/salida, usamos el iostat dominio. iostat es parte del sysstat paquete y no se carga en todas las distribuciones de forma predeterminada.

Instalación y ejecución base

Estoy usando Red Hat Enterprise Linux 8 aquí y he incluido el resultado de la instalación a continuación.

[ ¿Quiere probar Red Hat Enterprise Linux? Descárgalo ahora gratis. ]

NOTA :el comando se ejecuta automáticamente después de la instalación.

[root@rhel ~]# iostat
bash: iostat: command not found...
Install package 'sysstat' to provide command 'iostat'? [N/y] y
    
    
 * Waiting in queue... 
The following packages have to be installed:
lm_sensors-libs-3.4.0-21.20180522git70f7e08.el8.x86_64    Lm_sensors core libraries
sysstat-11.7.3-2.el8.x86_64    Collection of performance monitoring tools for Linux
Proceed with changes? [N/y] y
    
    
 * Waiting in queue... 
 * Waiting for authentication... 
 * Waiting in queue... 
 * Downloading packages... 
 * Requesting data... 
 * Testing changes... 
 * Installing packages... 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.17    0.05    4.09    0.65    0.00   83.03
    
Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda             206.70      8014.01      1411.92    1224862     215798
sdc               0.69        20.39         0.00       3116          0
sdb               0.69        20.39         0.00       3116          0
dm-0            215.54      7917.78      1449.15    1210154     221488
dm-1              0.64        14.52         0.00       2220          0

Si ejecuta el comando base sin opciones, iostat muestra información sobre el uso de la CPU. También muestra estadísticas de E/S para cada partición en el sistema. La salida incluye totales, así como valores por segundo para operaciones de lectura y escritura. Además, tenga en cuenta que el tps el campo es el número total de Transferencias por segundo emitido a un dispositivo específico.

La aplicación práctica es la siguiente:si sabe qué hardware se usa, entonces sabe con qué parámetros debería operar. Una vez que combine este conocimiento con la salida de iostat , puede realizar cambios en su sistema en consecuencia.

Carreras a intervalos

Puede ser útil en las fases de resolución de problemas o recopilación de datos para ejecutar un informe en un intervalo determinado. Para hacer esto, ejecute el comando con el intervalo (en segundos) al final:

[root@rhel ~]# iostat -m 10
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.94    0.05    0.35    0.04    0.00   98.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              12.18         0.44         0.12       1212        323
sdc               0.04         0.00         0.00          3          0
sdb               0.04         0.00         0.00          3          0
dm-0             12.79         0.43         0.12       1197        329
dm-1              0.04         0.00         0.00          2          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.24    0.00    0.15    0.00    0.00   99.61
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.00         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.00         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.20    0.00    0.18    0.00    0.00   99.62
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda               0.50         0.00         0.00          0          0
sdc               0.00         0.00         0.00          0          0
sdb               0.00         0.00         0.00          0          0
dm-0              0.50         0.00         0.00          0          0
dm-1              0.00         0.00         0.00          0          0

El resultado anterior es de una ejecución de 30 segundos.

Debes usar Ctrl + C para salir de la carrera.

Lectura fácil

Para limpiar el resultado y hacerlo más fácil de digerir, use las siguientes opciones:

-m cambia la salida a megabytes, que es un poco más fácil de leer y, por lo general, los clientes o gerentes lo entienden mejor.

[root@rhel ~]# iostat -m
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.51    0.09    0.55    0.07    0.00   97.77
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              22.23         0.81         0.21       1211        322
sdc               0.07         0.00         0.00          3          0
sdb               0.07         0.00         0.00          3          0
dm-0             23.34         0.80         0.22       1197        328
dm-1              0.07         0.00         0.00          2          0

-p le permite especificar un dispositivo en particular para enfocarse. Puedes combinar esta opción con -m para una mirada agradable y ordenada a un dispositivo particularmente preocupante y sus particiones.

[root@rhel ~]# iostat -m -p sda
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.19    0.07    0.45    0.06    0.00   98.24
    
Device             tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
sda              17.27         0.63         0.17       1211        322
sda2             16.83         0.62         0.17       1202        320
sda1              0.10         0.00         0.00          7          2

Estadísticas avanzadas

Si los valores predeterminados simplemente no le brindan la información que necesita, puede usar -x marcar para ver estadísticas ampliadas:

[root@rhel ~]# iostat -m -p sda -x 
Linux 4.18.0-193.1.2.el8_2.x86_64 (rhel.test)     06/17/2020     _x86_64_    (4 CPU)
    
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           1.06    0.06    0.40    0.05    0.00   98.43
    
Device            r/s     w/s     rMB/s     wMB/s   rrqm/s   wrqm/s  %rrqm  %wrqm r_await w_await aqu-sz rareq-sz wareq-sz  svctm  %util
sda             12.20    2.83      0.54      0.14     0.02     0.92   0.16  24.64    0.55    0.50   0.00    45.58    52.37   0.46   0.69
sda2            12.10    2.54      0.54      0.14     0.02     0.92   0.16  26.64    0.55    0.47   0.00    45.60    57.88   0.47   0.68
sda1             0.08    0.01      0.00      0.00     0.00     0.00   0.00  23.53    0.44    1.00   0.00    43.00   161.08   0.57   0.00

Algunas de las opciones a las que prestar atención aquí son:

  • avgqu-sz:longitud promedio de la cola de una solicitud enviada al dispositivo
  • espera:tiempo promedio para que se atiendan las solicitudes de E/S enviadas al dispositivo (milisegundos)
  • r_await:tiempo promedio para atender las solicitudes de lectura (milisegundos)
  • w_await:tiempo promedio para atender las solicitudes de escritura (milisegundos)

Hay otros valores presentes, pero estos son los que hay que tener en cuenta.

Apagando

Este artículo cubre casi todo lo que necesita para comenzar con iostat . Si tiene otras preguntas o necesita más explicaciones sobre las opciones, asegúrese de consultar la página del manual o su motor de búsqueda preferido. Para conocer otros consejos y trucos de Linux, no pierda de vista Habilitar Sysadmin.

[ Curso en línea gratuito:descripción técnica general de Red Hat Enterprise Linux. ]


Linux
  1. Tener una vaca en la línea de comandos de Linux

  2. Encárguese en la línea de comandos de Linux

  3. Uso de Stratis para administrar el almacenamiento de Linux desde la línea de comandos

  4. Uso de Google Drive desde la línea de comandos de Linux

  5. Conceptos básicos de la línea de comandos de Linux:ejecución de comandos desde la línea de comandos

Crea un collage de fotos desde la línea de comandos de Linux

Programe hardware desde la línea de comandos de Linux

La línea de comandos de Linux puede traer diversión desde lejos

Domina la línea de comandos de Linux

Cómo buscar archivos desde la línea de comandos de Linux

Eliminar directorio en Linux:cómo eliminar una carpeta desde la línea de comandos