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_TASKSTATS and CONFIG_VM_EVENT_COUNTERS options need to be
enabled in your Linux kernel build configuration and since Linux
kernel 5.14, the kernel.task_delayacct sysctl enabled.
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. TotalDISK 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.
Show the version number and exit
Show usage information and exit
Only show processes or threads actually doing I/O, instead
of showing all processes or threads. This can be
dynamically toggled by pressing o.
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)
Only show processes. Normally iotop shows all threads.
Show accumulated I/O instead of bandwidth. In this mode,
iotop shows the amount of I/O processes have done since
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.
Add a timestamp on each line (implies --batch). Each line
will be prefixed by the current time.
suppress some lines of header (implies --batch). This
option can be specified up to three times to remove header
Suppress the keyboard shortcuts help display.
-q column names are only printed on the first
-qq column names are never printed,
-qqq the I/O summary is never printed.
This page is part of the iotop (a simple top-like I/O monitor)
project. Information about the project can be found at
⟨http://guichaz.free.fr/iotop/⟩. If you have a bug report for
this manual page, send it to email@example.com. This page was
obtained from the project's upstream Git repository
⟨git://repo.or.cz/iotop.git⟩ on 2023-06-23. (At that time, the
date of the most recent commit that was found in the repository
was 2023-04-03.) If you discover any rendering problems in this
HTML version of the page, or you believe there is a better or
more up-to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
October 1, 2021 IOTOP(8)