Supervisión de E/S de disco: `iostat`, `iotop`
Supervise y analice el rendimiento de entrada y salida del disco para identificar cuellos de botella.
Supervisión de E/S de disco: `iostat`, `iotop` es una lección gratuita de Linux Command Line Mastery en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Linux Command Line Mastery, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Linux Command Line Mastery incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
Why Monitor Disk I/O?
Disk Input/Output (I/O) refers to the data moving between your computer's CPU and its storage devices (like hard drives or SSDs).
Monitoring disk I/O is crucial for understanding system performance. Slow disk I/O can be a major bottleneck, making your applications and overall system feel sluggish, even if your CPU and memory are underutilized.
Introducing `iostat`
The iostat command is part of the sysstat package and is used to report CPU statistics and device I/O statistics.
It provides a system-wide view of disk activity, helping you identify if your storage devices are struggling to keep up with demand.
Running iostat without any options gives you a snapshot of current I/O performance.
iostatDecoding Basic `iostat` Output
A typical iostat output shows several key metrics:
Device: The name of the storage device (e.g.,sda,nvme0n1).tps: Transfers per second (read + write).kB_read/s: Kilobytes read from the device per second.kB_wrtn/s: Kilobytes written to the device per second.kB_read: Total kilobytes read since boot.kB_wrtn: Total kilobytes written since boot.
These give you a quick overview of the overall data flow.
Advanced `iostat` Metrics
For deeper insights, use iostat -x to see extended statistics. Pay attention to:
r/s,w/s: Reads/writes per second (similar totps, but separated).rkB/s,wkB/s: Read/write kilobytes per second.%util: Percentage of time the device was busy. High%util(near 100%) indicates a potential bottleneck.await: The average time (in milliseconds) for I/O requests issued to the device to be served. This includes time spent in queue and service time.
High await values suggest I/O requests are waiting too long.
iostat -xReal-time Monitoring with `iostat`
To observe I/O activity over time, you can specify an interval in seconds. This allows you to see how stats change during different workloads.
For example, iostat -d 2 3 will display disk statistics every 2 seconds, for a total of 3 reports. The -d flag limits the output to only disk statistics.
iostat -d 2 3Focusing on Specific Disks
If you have multiple storage devices, you might want to monitor a specific one. You can append the device name to the iostat command.
For instance, to monitor the sda device with extended statistics every 5 seconds, you would use iostat -x 5 sda.
This helps pinpoint issues on individual drives.
iostat -x 5 sdaIntroducing `iotop`
While iostat provides system-wide disk I/O statistics, iotop gives you a more granular, process-level view.
iotop shows which processes are actively performing disk I/O, similar to how top shows CPU usage per process. This is invaluable for identifying specific applications or services hogging disk resources.
iotopUnderstanding `iotop` Output
When you run iotop, you'll see a real-time list of processes and their I/O activity. Key columns include:
TID/PID: Thread or Process ID.USER: The user owning the process.DISK READ: Current disk read rate of the process.DISK WRITE: Current disk write rate of the process.SWAPIN: Percentage of time spent swapping.IO%: Total I/O percentage for the process.
By default, it sorts by IO%, making it easy to spot I/O-intensive tasks.
Identifying I/O Hogs with `iotop`
iotop is interactive by default, but you can use flags for specific views. For example, iotop -oPa shows only processes with active I/O, aggregated for each process, and non-interactive.
This helps quickly identify which processes are causing high disk activity and potentially impacting overall system performance.
iotop -oPaCheck Your I/O Knowledge
Which iostat metric directly indicates the percentage of time a storage device is busy processing requests?
I/O Monitoring Recap
In this lesson, you've learned how to use two powerful Linux commands for disk I/O monitoring:
iostat: Provides system-wide disk I/O statistics, including transfers per second, read/write rates, and crucial metrics like%util(device utilization) andawait(request latency). It's great for identifying overall disk bottlenecks.iotop: Offers a real-time, process-level view of disk I/O, helping you pinpoint specific applications or services that are consuming significant disk resources.
Mastering these tools is essential for diagnosing and resolving performance issues related to storage.
Preguntas frecuentes
¿La lección «Supervisión de E/S de disco: `iostat`, `iotop`» es gratis?
Sí — el texto completo de «Supervisión de E/S de disco: `iostat`, `iotop`» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Linux Command Line Mastery, actualiza a CoddyKit PRO. El curso de Linux Command Line Mastery incluye 4 lecciones en total.
¿Qué aprenderé en «Supervisión de E/S de disco: `iostat`, `iotop`»?
Supervise y analice el rendimiento de entrada y salida del disco para identificar cuellos de botella. Practicas Linux Command Line Mastery con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Linux Command Line Mastery?
No se requiere experiencia previa. Linux Command Line Mastery en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Supervisión de E/S de disco: `iostat`, `iotop`»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Linux Command Line Mastery?
Sí. Cada lección de Linux Command Line Mastery incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Supervisión de E/S de disco: `iostat`, `iotop`
- Herramientas de rendimiento de memoria y CPU
- Técnicas avanzadas de registro y solución de problemas
- Trazado de llamadas al sistema con strace y ltrace