How to Find the Process Using the Most Disk I/O in Ubuntu Using iotop

The Problem with High Disk I/O

If your Ubuntu Linux server is suddenly responding incredibly slowly—commands take seconds to register, websites load at a crawl, and SSH connections time out—but your CPU and RAM usage both appear perfectly normal, you are likely experiencing a Disk I/O (Input/Output) bottleneck. This happens when a rogue background process (like a runaway database query, an aggressive backup script, or an indexing service) is reading and writing data to the physical hard drive faster than the disk can handle. Standard system monitors like top or htop are excellent for CPU analysis, but they do not clearly show which specific process is hammering your storage drive. For that, you need a specialized tool.

Installing and Running iotop

The best utility for this job is iotop, which acts exactly like top but is exclusively dedicated to monitoring disk reads and writes in real-time. It is rarely installed by default, so you must fetch it from the repository.

  1. Open your Terminal or connect to your server via SSH.
  2. Install the tool by typing: sudo apt install iotop
  3. Press Enter and allow the installation to complete.
  4. Because iotop needs deep access to the Linux kernel to monitor disk activity, it must be run with root privileges. Type:
    sudo iotop
  5. Press Enter.

How to Read the iotop Interface

The terminal will transition into a live-updating dashboard.

  • Total DISK READ / WRITE: The very top line shows the aggregate speed at which your entire system is reading and writing to the disk right now (measured in Megabytes or Kilobytes per second).
  • The Process List: Below the summary, you will see a list of running processes. By default, iotop automatically sorts this list by the IO> column, pushing the most aggressive disk users to the very top.
  • READ and WRITE columns: These columns show the exact speed (e.g., 45.2 M/s) that a specific process is pulling from or pushing to the drive.
  • COMMAND: The far-right column tells you the name of the application causing the problem (e.g., mysqld, rsync, or tracker-miner-fs).

Filtering the Noise

Often, the screen will be cluttered with hundreds of idle processes doing nothing. You can clean up the view instantly by pressing the O key on your keyboard. This toggles the “Only” mode, forcing iotop to only display processes that are actively performing disk I/O at this exact second. Once you have identified the PID (Process ID) of the rogue application on the left side of the screen, you can press Q to quit iotop, and then use the sudo kill [PID] command to terminate it and restore your server’s performance.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.