Provided by: iotop-c_1.22-1_amd64 bug

NAME

       iotop - simple top-like I/O monitor

SYNOPSIS

       iotop [OPTIONS]

DESCRIPTION

       iotop  watches  I/O  usage  information  available in 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.

       Running iotop as non-root user is possible by adding the NET_ADMIN capability. This can be
       done by e.g.:

              $ sudo setcap 'cap_net_admin+eip' <path-to>/iotop

       Be warned that this will also allow other users to run it and get  access  to  information
       that normally should not be available to them.

       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  are
       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 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  the  kernel
       block  device  subsystem  and  the  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 the Linux kernel.

       Use the left and right arrows to select the sort column, r or space to reverse the sorting
       order, o to toggle the --only option (this uses the visible values from the  GRAPH  column
       or  the IO column in case the GRAPH column is hidden), p to toggle the --processes option,
       a to toggle the --accumulated option, i to change the priority of a thread or a  process's
       thread,  f  to  change  filtering by UID/PID (--user and --pid options), 1-9 to toggle the
       visibility  of  the  respective  column,  0  to  show   all   columns,   up/down   arrows,
       page-up/page-down/home/end  keys  to  scroll  and  q to quit. Any unrecognized key will be
       ignored.

       All processes or threads that have exited are displayed grayed for the  same  time  as  is
       visible in the GRAPH column or 3 seconds when it is hidden. The invalid data points in the
       GRAPHS column are displayed inverse or with letter x (see option --dead-x and x shortcut).
       When using unicode characters each position contains two datapoints and only the positions
       with two invalid data points are reversed.

       It is possible for threads of a  process  to  have  different  priority  from  their  main
       process. This is shown with ! in the PRIO column of the main process as e.g. !be/4.

       Threads activity is always aggregated with and shown inside the main process.

       When  showing  threads,  they always appear below their main process and are sorted in the
       same way as the processes.

       There are two ways to change the IO priority of a process or thread  -  press  i  and  use
       arrows to select the process or thread from the visible ones on screen or press i and type
       its TID (PID and TID have the same value for the main process). Then use tab and arrows to
       change  the  priority  value  and  confirm with enter. Shortcuts esc or q will cancel this
       mode.

       To change the UID and PID filters, press f and use tab to select the  UID  or  PID  field,
       then  type the numerical id or n to remove the filter and confirm with enter. Filtering is
       always done by TID because it is unique. Note that for the main process PID is the same as
       TID. Shortcuts esc or q will cancel this mode.

       Starting with Linux kernel 5.14.x task_delayacct is configurable at runtime and set to off
       by default. This setting can be changed in interactive mode by  the  Ctrl-T  shortcut.  In
       batch mode a warning is printed when the setting is OFF. From the command line this can be
       enabled by:

              $ sudo sysctl kernel.task_delayacct=1

       and disabled again by:

              $ sudo sysctl kernel.task_delayacct=0

       It is advisable to keep this option off when not using this or another monitoring  program
       because when enabled it has some effect on system performance.

OPTIONS

       -v, --version
              Show the version number and exit

       -h, --help
              Show usage information and exit

       -H, --help-type=TYPE
              Set  the type of interactive help shown. Accepted values for TYPE are none, win and
              inline.

       -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 process/thread id to monitor (all by default)

       -u USER, --user=USER
              A  user  id  to  monitor (all by default).  The value will always be resolved first
              unless it is prefixed by + in which case it is treated as numeric only. Values that
              do not resolve but appear to be numeric are used as numeric

       -P, --processes
              Only show processes. Normally iotop shows processes and 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 and 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

       -g TYPE, --grtype=TYPE
              Set GRAPH column data source. Accepted values for TYPE are io, r, w, rw and sw.

       -q, --quiet
              Suppress some lines of header (implies --batch). This option can be specified up to
              three times to remove header lines
              -q     column names are only printed on the first iteration,
              -qq    column names are never printed,
              -qqq   the I/O summary is never printed

       -x, --dead-x
              Show exited processes/threads with letter x instead of inverse background

       -e, --hide-exited
              Hide exited processes

       -l, --no-color
              Do not colorize values

KEYBOARD SHORTCUTS

       q, Q   Exit

       <space>, r, R
              Toggle sort order

       <home> Scroll to the top of the list

       <end>  Scroll to the bottom of the list

       <page-up>
              Scroll one screen up

       <page-down>
              Scroll one screen down

       <up>   Scroll one line up

       <down> Scroll one line down

       <right>
              Sort by next column

       <left> Sort by previous column

       <esc>  Cancel ionice or filter selection. In case only the help window is open then  close
              it

       o, O   Toggle showing only processes with IO activity

       p, P   Toggle showing processes/threads

       a, A   Toggle showing accumulated/current values

       ?      Toggle showing inline help

       h, H   Toggle showing window 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)

       0      Show all columns

       g, G   Cycle  GRAPH  source  (IO=IO, R=DISK READ , W=DISK WRITE, R+W=DISK READ+DISK WRITE,
              SW=SWAPIN). Using g will cycle forward and G will cycle backward.

       i, I   IOnice a process/thread (depends on process/thread display mode)

       f, F   Change UID and PID filters

       u, U   Toggle using Unicode/ASCII characters for pseudo graph

       l, L   Toggle colorizing values

       x, X   Toggle the display mode of exited processes/threads between letter  x  and  inverse
              background

       e, E   Toggle the display of exited processes

       s, S   Toggle freeze of data collection

       Ctrl-T Toggle task_delayacct kernel sysctl

       /      Change  search  regular  expression.  While  the search regular expression is being
              edited, there is an indicator next to it that shows if  the  expression  is  valid.
              The search is confirmed by <enter> or cancelled by <esc>.

              List of shortcuts in the editor:

              <esc>  Cancel editing and remove the regular expression filter

              <enter>
                     Confirm  the  current  regular  expression  and  exit edit mode. In case the
                     regular expression is empty or invalid it will match everything.

              Alt/Meta-<backspace>, Ctrl-W
                     Delete one word from cursor to the left

              Alt/Meta-D
                     Delete one word from cursor to the right

              Alt/Meta-B, Ctrl-<left>
                     Move the cursor to the beginning of the word on the left

              Alt/Meta-F, Ctrl-<right>
                     Move the cursor after the end of the word on the right

              Ctrl-A, <home>
                     Move the cursor to the leftmost position

              Ctrl-E, <end>
                     Move the cursor after the last character

              Ctrl-B, <left>
                     Move the cursor to the left

              Ctrl-F, <right>
                     Move the cursor to the right

              Ctrl-H, <backspace>
                     Delete the character left of cursor

              Ctrl-D, <del>
                     Delete the character under the cursor

              Ctrl-K Delete from the character under the cursor to the end of the line

              Ctrl-U Delete everything

              [anything-else]
                     Non-printable characters are ignored. Normal characters are inserted  before
                     the  character under the cursor. UTF-8 sequences are parsed and treated as a
                     single character. Unicode combining  characters  will  be  appended  to  the
                     character under the cursor.

ENVIRONMENT

       As  per  the  recommendation of https://www.no-color.org/ iotop honors the contents of the
       environment variable NO_COLOR and when it is set to a non empty string, all  color  output
       is suppressed.

SEE ALSO

       ionice(1), top(1), vmstat(1), atop(1), htop(1)

AUTHOR

       The original Python iotop implementation was written by Guillaume Chazarain.  This rewrite
       in C was started in 2014 by Vyacheslav  Trushkin  and  reworked  to  include  all  missing
       features  from  the  original  Python code and several new ones from 2020 to 2022 by Boian
       Bonev.

       This manual page was started by Paul Wise for the Debian project  and  is  placed  in  the
       public domain.

                                           July 8, 2022                                  IOTOP(8)