La monitorización de E/S (I/O) eficaz es crucial para mantener un sistema Linux sano y receptivo. Una potente herramienta de línea de comandos para esta tarea es iostat, que proporciona informes detallados tanto de la actividad de la CPU como del disco.
Ejecutar el comando iostat genera una instantánea de las métricas de rendimiento de su sistema.
pete@icebox:~$ iostat
Linux 3.13.0-39-lowlatency (icebox) 01/28/2016 _i686_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.13 0.03 0.50 0.01 0.00 99.33
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.17 3.49 1.92 385106 212417
La salida se divide en dos secciones principales. Vamos a desglosarlas.
Comprensión de las Métricas de la CPU
El primer informe detalla la utilización de la CPU, proporcionando información sobre cómo el procesador está empleando su tiempo.
- %user: Porcentaje de tiempo de CPU dedicado a ejecutar procesos a nivel de usuario.
- %nice: Porcentaje de tiempo de CPU dedicado a procesos a nivel de usuario con una prioridad modificada (nice).
- %system: Porcentaje de tiempo de CPU dedicado a ejecutar procesos a nivel de sistema (kernel).
- %iowait: Porcentaje de tiempo que la CPU estuvo inactiva mientras esperaba a que se completara una solicitud de E/S de disco pendiente. Los valores altos aquí pueden indicar un cuello de botella en el almacenamiento.
- %steal: En un entorno virtualizado, este es el porcentaje de tiempo que una CPU virtual espera a una CPU real mientras el hipervisor atiende a otro procesador virtual.
- %idle: Porcentaje de tiempo que la CPU estuvo inactiva y no esperó ninguna solicitud de E/S de disco.
Análisis de la Utilización del Disco
El segundo informe se centra en la monitorización de E/S a nivel de dispositivo, mostrando cómo se transfieren los datos hacia y desde sus dispositivos de almacenamiento.
- tps: Transferencias por segundo emitidas al dispositivo. Una transferencia es una solicitud de E/S, y varias solicitudes lógicas pueden combinarse en una sola.
- kB_read/s: La cantidad de datos leídos desde el dispositivo, expresada en kilobytes por segundo.
- kB_wrtn/s: La cantidad de datos escritos en el dispositivo, expresada en kilobytes por segundo.
- kB_read: El número total de kilobytes leídos desde el dispositivo desde el último reinicio.
- kB_wrtn: El número total de kilobytes escritos en el dispositivo desde el último reinicio.