Skip to main content
members-only

20+ Linux Disk I/O Monitoring Tools You Should Know

In this article, we cover 20+ Linux tools to monitor, analyze, and optimize disk I/O, from essential checks to advanced tracing and diagnostics.

β€” Ravi Saive β€” 14 min read

When your Linux system starts slowing down, the root cause is often disk I/O (input/output) rather than CPU or memory.

Even with sufficient processing power and RAM, slow or overloaded storage can bring the entire system to a standstill.

Linux provides a wide range of tools to help you understand what is happening at the storage layer.

Monitoring disk I/O is not about running a single command; different tools provide different perspectives.

Some give a high-level view of overall disk activity, others focus on per-process usage, and more advanced tools allow you to trace individual I/O operations in detail.

In this guide, we’ll explore over 20 tools to monitor, analyze, and optimize disk I/O on Linux, starting with essential tools and moving into advanced techniques such as block-level tracing, disk diagnostics, and filesystem-specific monitoring.

By the end, you’ll have a clear understanding of how to identify performance bottlenecks and keep your Linux system running efficiently.

Let me break this down for you.

Essential I/O Monitoring Tools

These are the core tools for monitoring disk performance on Linux, and if you are new to I/O troubleshooting, start here before moving on to advanced diagnostics.

1. iostat - Shows Device Input and Output Statistics

iostat is one of the many terminal-based system monitoring utilities in the sysstat package, which is a widely used tool that reports CPU statistics as well as I/O statistics for block devices and partitions.

To use iostat on your Linux system, you first need to install the sysstat package:

sudo apt install sysstat      # Debian/Ubuntu
sudo yum install sysstat      # RHEL/CentOS

After installing iostat, you can use it to check your disk activity by running it with the -x option every 2 seconds, repeating this 5 times.

iostat -x 2 5
iostat: Monitor and Diagnose Disk I/O Performance

Some key metrics to watch are:

  • %iowait - CPU time spent waiting for I/O.
  • r/s and w/s - Number of read and write operations per second.
  • rkB/s and wkB/s - Kilobytes read from and written to the device per second.
  • await - Average time in milliseconds for I/O requests to be completed.
  • %util - Percentage of time the device was busy handling I/O requests.

Among these, %util is particularly important because if it consistently stays above 80-90%, your disk may be struggling to keep up.

2. sar - Show Linux System Activity

sar is another terminal-based utility included in the sysstat package that can be thought of as a more comprehensive alternative to iostat, as it collects and reports overall system activity, including CPU usage, memory, and disk I/O.

To monitor disk I/O activity in real-time, run the following command, which displays disk statistics every 2 seconds, repeated 5 times.

sar -d 2 5
Monitor Disk I/O in Real Time on Linux

You can also check historical disk I/O data with the following command, which will read disk activity data from a specific day (the 10th of the month in this example).

sar -d -f /var/log/sysstat/sa10

3. iotop - Monitor Linux Disk I/O Usage by Process

While iostat shows which disks are busy, iotop shows which processes are using the disk; it works like the top command, but instead of CPU usage, it focuses on disk I/O activity.

sudo apt install iotop      # Debian / Ubuntu
sudo yum install iotop      # RHEL / CentOS

After installing iotop, you can use the -o option to display only processes that are actively performing disk I/O, which helps reduce noise and makes issues easier to spot.

sudo iotop -o
Find Which Processes Are Using Disk I/O in Linux

With iotop, you can see:

  • Which process is reading from or writing to the disk?
  • How much data each process is transferring.
  • How much time do processes spend waiting for disk I/O?

This tool is often the first place to look when you need to answer the question: β€œWhat is causing high disk I/O right now?”

4. dool - Modern Resource Statistics Tool

Pro TecMint Β· Root Plan
This Article is for Root Members
Join Root to read the full article and unlock everything

Full Access to Every Article, Course & Certification Track

Join thousands of Linux professionals who use Pro TecMint to advance their careers.

Ad-free access to all premium articles
All courses: Learn Linux, Bash, Golang, Ubuntu and more
RHCSA, RHCE, LFCS & LFCA certification prep
New courses added every month
Private Telegram community & priority support
Root Plan
$8/mo
or $59/year billed annually
Save $37 with annual plan
Start Reading This Article in the Next 60 Seconds
Join Root Plan β†’