iotop

iotop

iotop is a real-time I/O monitoring tool for Linux that displays disk read and write rates by process. Where traditional tools like top show only CPU and memory usage, iotop reveals which processes are consuming disk bandwidth — critical for identifying I/O bottlenecks, runaway disk writes, and storage performance issues. It uses the Linux kernel’s task I/O accounting feature to attribute disk activity to individual processes.

Key Features

  • Per-process I/O — Disk read and write rates broken down by individual process
  • Total I/O display — Aggregate disk utilisation and bandwidth at the top of the screen
  • Sorting modes — Sort by I/O read, write, total, or process priority
  • Process filtering — Show only processes that are actively performing I/O
  • Accumulated I/O — Track cumulative I/O totals since iotop started
  • Interactive commands — Keyboard shortcuts for sorting, filtering, and refreshing
  • Batch mode — Non-interactive output suitable for logging and scripting
  • Privilege detection — Clear warning when running without root (limited data)

Why Use It

When your system feels slow but CPU and memory look fine, the culprit is often disk I/O. iotop is the go-to tool for identifying exactly which process is hammering your disks — whether it’s a log rotation, a database backup, or a misbehaving application writing excessive data.

Use Cases

  • I/O bottleneck diagnosis — Find which process is causing high disk wait times
  • Runaway write detection — Identify processes writing excessive log or temporary data
  • Database server monitoring — Track database I/O patterns and disk utilisation
  • Storage performance validation — Verify that applications respect I/O limits and priorities

Platform

Linux (requires kernel 2.6.20+ with TASK_IO_ACCOUNTING)

Licence

GNU General Public License v2.0

Website

github.com/Tomas-M/iotop

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.