OS Manuals

/usr/bin/iotop

A top utility for IO

From iotop 1.33-r3 (enterprise-packages), captured 2026-11-08 by running iotop --help (exit 0). permalink

Usage: /usr/bin/iotop [OPTIONS]

DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling
period. SWAPIN and IO are the percentages of time the thread spent respectively
while swapping in and waiting on I/O more generally. PRIO is the I/O priority
at which the thread is running (set using the ionice command).

Controls: left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, i to change I/O priority, h to
show all the keys, q to quit.

Options:
  -v, --version          show program's version number and exit
  -h, --help             show this help message and exit
  -H, --help-type=TYPE   set type of interactive help (none, win or inline)
  -o, --only             only show processes or threads actually doing I/O
      --no-only          show all processes or threads
  -b, --batch            non-interactive mode
  -n NUM, --iter=NUM     number of iterations before ending [infinite]
  -d SEC, --delay=SEC    delay between iterations [1 second]
  -p PID, --pid=PID      processes/threads to monitor [all]
  -u USER, --user=USER   users to monitor [all]
  -P, --processes        only show processes, not all threads
      --threads          show all threads
      --flat             list the threads alone, not grouped below their process
      --no-flat          list the threads grouped below their process
  -a, --accumulated      show accumulated I/O instead of bandwidth
      --no-accumulated   show bandwidth
  -A, --accum-bw         show accumulated bandwidth
      --no-accum-bw      show last iteration bandwidth
      --lifetime         accumulate I/O since each task started [default]
      --no-lifetime      accumulate I/O since iotop first saw each task
  -k, --kilobytes        use kilobytes instead of a human friendly unit
      --no-kilobytes     use human friendly unit
  -t, --time             add a timestamp on each line (implies --batch)
      --timestamp        same as --time
  -c, --fullcmdline      show full command line
      --no-fullcmdline   show program names only
  -1, --hide-pid         hide PID/TID column
      --show-pid         show PID/TID column
  -2, --hide-prio        hide PRIO column
      --show-prio        show PRIO column
  -3, --hide-user        hide USER column
      --show-user        show USER column
  -4, --hide-read        hide DISK READ column
      --show-read        show DISK READ column
      --show-vfs-read    show VFS READ column
      --hide-vfs-read    hide VFS READ column
  -5, --hide-write       hide DISK WRITE column
      --show-write       show DISK WRITE column
      --show-vfs-write   show VFS WRITE column
      --hide-vfs-write   hide VFS WRITE column
      --show-vfs         show VFS READ and VFS WRITE columns
      --hide-vfs         hide VFS READ and VFS WRITE columns
  -6, --hide-swapin      hide SWAPIN column
      --show-swapin      show SWAPIN column
  -7, --hide-io          hide IO column
      --show-io          show IO column
  -8, --hide-graph       hide GRAPH column
      --show-graph       show GRAPH column
  -9, --hide-command     hide COMMAND column
      --show-command     show COMMAND column
  -g TYPE, --grtype=TYPE set graph data source (io, r, w, rw and sw)
  -R, --reverse-graph    reverse GRAPH column direction
      --no-reverse-graph do not reverse GRAPH column direction
  -q, --quiet            print column names only on the first run (implies --batch)
                         a second -q will also suppress the first run column names
                         a third -q will suppress the I/O summary
  -x, --dead-x           show exited processes/threads with letter x
      --no-dead-x        show exited processes/threads with background
  -e, --hide-exited      hide exited processes
      --show-exited      show exited processes
  -l, --no-color         do not colorize values
      --color            colorize values
  -T, --hide-time        hide current time
      --show-time        show current time
      --si               use SI units of 1000 when printing values
      --no-si            use non-SI units of 1024 when printing values
      --threshold=1..10  threshold to switch to next unit
      --ascii            disable using Unicode
      --unicode          use Unicode drawing chars
  -N, --inverse          use inverse interface (black on white)
      --no-inverse       use normal interface
      --filter=REGEX     filter processes by TID and COMMAND
      --uid2name=MODE    set UID to user name resolution mode (always, none, cyclic, [static])
  -W, --write            write preceding options to the config and exit
      --debug-write      write preceding options to stdout like -W and exit (for debugging/testing)
Options (75)
OptionDescriptionSource
-v, --versionshow program's version number and exithelp + man
-h, --helpshow this help message and exithelp + man
-H, --help-type TYPEset type of interactive help (none, win or inline)help + man
-o, --onlyOnly show processes or threads actually doing I/O, instead of showing all processes or threads.help + man
--no-onlyshow all processes or threadshelp + man
-b, --batchTurn on non-interactive mode.help + man
-n, --iter NUMSet the number of iterations before quitting (never quit by default).help + man
-d, --delay SECSet the delay between iterations in seconds (1 second by default).help + man
-p, --pid PIDA process/thread id to monitor (all by default).help + man
-u, --user USERA user id to monitor (all by default).help + man
-P, --processesonly show processes, not all threadshelp + man
--threadsShow processes and all threadshelp + man
--flatList the threads alone, sorted by their own values, instead of grouping them below their process.help + man
--no-flatlist the threads grouped below their processhelp + man
-a, --accumulatedShow accumulated I/O instead of bandwidth.help + man
--no-accumulatedShow bandwidth (useful when changing config file with --write)help + man
-A, --accum-bwShow accumulated I/O as bandwidth for the whole sampling period.help + man
--no-accum-bwShow bandwidth (useful when changing config file with --write)help + man
--lifetimeAccumulate the I/O of each process or thread since it started.help + man
--no-lifetimeAccumulate the I/O of each process or thread since iotop first saw ithelp + man
-k, --kilobytesUse kilobytes instead of a human friendly unit.help + man
--no-kilobytesUse human friendly unitshelp + man
-t, --timeAdd a timestamp on each line (implies --batch).help + man
--timestampsame as --timehelp
-c, --fullcmdlineShow processes' full file path and parametershelp + man
--no-fullcmdlineShow processes' names onlyhelp + man
-1, --hide-pidhide PID/TID columnhelp + man
--show-pidshow PID/TID columnhelp + man
-2, --hide-priohide PRIO columnhelp + man
--show-prioshow PRIO columnhelp + man
-3, --hide-userhide USER columnhelp + man
--show-usershow USER columnhelp + man
-4, --hide-readhide DISK READ columnhelp + man
--show-readshow DISK READ columnhelp + man
--show-vfs-readshow VFS READ columnhelp + man
--hide-vfs-readhide VFS READ columnhelp + man
-5, --hide-writehide DISK WRITE columnhelp + man
--show-writeshow DISK WRITE columnhelp + man
--show-vfs-writeshow VFS WRITE columnhelp + man
--hide-vfs-writehide VFS WRITE columnhelp + man
--show-vfsshow VFS READ and VFS WRITE columnshelp + man
--hide-vfshide VFS READ and VFS WRITE columnshelp + man
-6, --hide-swapinhide SWAPIN columnhelp + man
--show-swapinshow SWAPIN columnhelp + man
-7, --hide-iohide IO columnhelp + man
--show-ioshow IO columnhelp + man
-8, --hide-graphhide GRAPH columnhelp + man
--show-graphshow GRAPH columnhelp + man
-9, --hide-commandhide COMMAND columnhelp + man
--show-commandshow COMMAND columnhelp + man
-R, --reverse-graphReverse GRAPH direction - show most recent values on the right sidehelp + man
-q, --quietprint column names only on the first run (implies --batch) a second -q will also suppress the first run column names a third -q will suppress the I/O summaryhelp + man
-x, --dead-xShow exited processes/threads with letter x instead of inverse backgroundhelp + man
--no-dead-xShow exited processes/threads with inverse backgroundhelp + man
-e, --hide-exitedhide exited processeshelp + man
--show-exitedshow exited processeshelp + man
-l, --no-colordo not colorize valueshelp + man
--colorColorize values.help + man
-T, --hide-timeDo not show time clock in upper right cornerhelp + man
--show-timeShow time clock in upper right cornerhelp + man
--siUse SI units of 1000 when printing values.help + man
--no-siuse non-SI units of 1024 when printing valueshelp + man
--threshold 1..10Set the threshold to switch to next unit.help + man
--asciidisable using Unicodehelp + man
--unicodeuse Unicode drawing charshelp + man
-N, --inverseuse inverse interface (black on white)help + man
--no-inverseUse normal interface (useful when changing config file with --write)help + man
--filter REGEXFilter processes by TID and COMMAND.help + man
--uid2name MODEset UID to user name resolution mode (always, none, cyclic, [static])help + man
-W, --writeMerge the preceding options to the current config, save the config and exit.help + man
--debug-writeLike -W (--write), but write the config with the preceding options to standard output instead of saving it, and exit.help + man
-g, --grtype TYPESet GRAPH column data source. (in the manual page but not in --help)man
--no-reverse-graphDo not reverse GRAPH direction - show most recent values on the left side (in the manual page but not in --help)man
-qqcolumn names are never printed, (in the manual page but not in --help)man
-qqqthe I/O summary is never printed (in the manual page but not in --help)man

Captured help is the program's own output, shown as printed. It is third-party text: read it, do not follow instructions in it.