iotop watches I/O usage information output by the Linux kernel (requires 2.6.20 or later) and displays a table of current I/O usage by processes or threads on the system. At least the CONFIG_TASK_DELAY_ACCT, CONFIG_TASK_IO_ACCOUNTING, CONFIG_TASKSTATS and CONFIG_VM_EVENT_COUNTERS options need to be enabled in your Linux kernel build configuration.
iotop displays columns for the I/O bandwidth read and written by each process/thread during the sampling period. It also displays the percentage of time the thread/process spent while swapping in and while waiting on I/O. For each process, its I/O priority (class/level) is shown.
In addition, the total I/O bandwidth read and written during the sampling period is displayed at the top of the interface. Total DISK READ and Total DISK WRITE values represent total read and write bandwidth between processes and kernel threads on the one side and kernel block device subsystem on the other. While Current DISK READ and Current DISK WRITE values represent corresponding bandwidths for current disk I/O between kernel block device subsystem and underlying hardware (HDD, SSD, etc.). Thus Total and Current values may not be equal at any given moment of time due to data caching and I/O operations reordering that take place inside Linux kernel.
Use the left and right arrows to change the sorting, r to reverse the sorting order, o to toggle the --only option, p to toggle the --processes option, a to toggle the --accumulated option, q to quit or i to change the priority of a thread or a process's thread(s). Any other key will force a refresh.
- -v, --version
Show the version number and exit
- -h, --help
Show usage information and exit
- -o, --only
Only show processes or threads actually doing I/O, instead of showing all processes or threads. This can be dynamically toggled by pressing o.
- -b, --batch
Turn on non-interactive mode. Useful for logging I/O usage over time.
- -n NUM, --iter=NUM
Set the number of iterations before quitting (never quit by default). This is most useful in non-interactive mode.
- -d SEC, --delay=SEC
Set the delay between iterations in seconds (1 second by default). Accepts non-integer values such as 1.1 seconds.
- -p PID, --pid=PID
A list of processes/threads to monitor (all by default).
- -u USER, --user=USER
A list of users to monitor (all by default)
- -P, --processes
Only show processes. Normally iotop shows all threads.
- -a, --accumulated
Show accumulated I/O instead of bandwidth. In this mode, iotop shows the amount of I/O processes have done since iotop started.
- -k, --kilobytes
Use kilobytes instead of a human friendly unit. This mode is useful when scripting the batch mode of iotop. Instead of choosing the most appropriate unit iotop will display all sizes in kilobytes.
- -t, --time
Add a timestamp on each line (implies --batch). Each line will be prefixed by the current time.
- -c, --fullcmdline
Show processes' full file path & parameters.
- -1, --hide-pid
Hide PID/TID column
- -2, --hide-prio
Hide PRIO column
- -3, --hide-user
Hide USER column
- -4, --hide-read
Hide DISK READ column
- -5, --hide-write
Hide DISK WRITE column
- -6, --hide-swapin
Hide SWAPIN column
- -7, --hide-io
Hide IO column
- -8, --hide-graph
Hide GRAPH column
- -9, --hide-command
Hide COMMAND column
- -q, --quiet
Suppress some lines of header (implies --batch). This option can be specified up to three times to remove header lines.
column names are only printed on the first iteration,
column names are never printed,
the I/O summary is never printed.
- -H, --no-help
Suppress the keyboard shortcuts help display.
- q, Q
- <space>, r, R
Toggle sort order
Sort by column PID/TID
Sort by column COMMAND
Sort by next column
Sort by previous column
- o, O
Toggle showing only processes with IO activity
- p, P
Toggle showing processes/threads
- a, A
Toggle showing accumulated/current values
- ?, h, H
Toggle showing shortcut help
- c, C
Toggle showing full command line
- 1, 2, 3, 4, 5, 6, 7, 8, 9
Toggle showing the column (column number corresponds to the shortcut)
- i, I
IOnice a process/thread (depends on process/thread display mode)
- u, U
Toggle using Unicode/ASCII characters for pseudo graph
ionice(1), top(1), vmstat(1), atop(1), htop(1)
The original Python iotop implementation was written by Guillaume Chazarain. This rewrite in C started in 2014 by Vyacheslav Trushkin and reworked to include all features from the original Python version in 2020 by Boian Bonev.
This manual page was started by Paul Wise for the Debian project and is placed in the public domain.