IOTOP(newest.html) - phpMan

IOTOP(8)                    System Manager's Manual                   IOTOP(8)
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   CON-
       FIG_TASK_DELAY_ACCT,  CONFIG_TASK_IO_ACCOUNTING,  CONFIG_TASKSTATS  and
       CONFIG_VM_EVENT_COUNTERS  options need to be enabled in your Linux ker-
       nel 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 per-
       centage 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  sam-
       pling  period  are  displayed  at the top of the interface.  Total DISK
       READ and Total DISK WRITE values represent total read and  write  band-
       width 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  cycle
       between the --accumulated, --accum-bw and normal operation, 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, v to toggle the visibility of the VFS  READ  and
       VFS   WRITE   columns,   0   to   show  all  columns,  up/down  arrows,
       page-up/page-down/home/end keys to scroll and q to quit.  Any  unrecog-
       nized key will be ignored.
       All  processes  or threads that have exited are displayed grayed for as
       long as their data is visible in the GRAPH column, or for  two  refresh
       cycles  when  it is hidden. The invalid data points in the GRAPH 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.
       With  -P  the values of a process include all its threads. When showing
       threads, the row of the main process shows only the values of the  main
       thread.
       When showing threads, they appear below their main process, unless they
       are listed alone with --flat. The processes are sorted by the values of
       the whole process and the threads of each process by their own values.
       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 pri-
       ority 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. Short-
       cuts 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  tog-
              gled by pressing o
       --no-only
              Show all processes or threads
       -b, --batch
              Turn on non-interactive mode.  Useful for logging I/O usage over
              time.  The columns of non-interactive mode are fixed so that its
              output  can  be  parsed:  the options that hide or show columns,
              also from the config file, apply only to the  interactive  view,
              except for the VFS READ and VFS WRITE columns
       -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).  In non-inter-
              active mode only the tasks of its process  are  read,  which  is
              much  faster on systems with many tasks; the Total DISK READ and
              Total DISK WRITE then cover only that process
       -u USER, --user=USER
              A user id to monitor (all by default).  It  is  matched  against
              the real user id of the tasks, which the USER column shows.  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
       --threads
              Show processes and all threads
       --flat List  the  threads alone, sorted by their own values, instead of
              grouping them below their process. This has no effect when  only
              processes  are  shown  and in batch mode, which always lists the
              threads alone
       --no-flat
              List the threads grouped below their process
       -a, --accumulated
              Show accumulated I/O instead of bandwidth. In this  mode,  iotop
              shows  the amount of I/O processes have done since they started,
              or with --no-lifetime since iotop first  saw  them.   Note  that
              this option and --accum-bw are exclusive and they will turn each
              other off
       --no-accumulated
              Show bandwidth (useful when changing config file with --write)
       -A, --accum-bw
              Show accumulated I/O as bandwidth for the whole sampling period.
              In  this  mode, iotop shows the amount of I/O per second for the
              whole period since the process started,  or  with  --no-lifetime
              since  iotop  first saw it.  Note that this option and --accumu-
              lated are exclusive and they will turn each other off
       --no-accum-bw
              Show bandwidth (useful when changing config file with --write)
       --lifetime
              Accumulate the I/O of each process or thread since  it  started.
              This  is  the default. The kernel counts the I/O of each thread,
              so the total of a process includes its threads that  iotop  saw,
              but  not  the  threads  that exited before.  With --accum-bw the
              average is over the time since the process or thread started
       --no-lifetime
              Accumulate the I/O of each process or thread since  iotop  first
              saw it
       -k, --kilobytes
              Use  kilobytes  instead  of a human friendly unit.  This mode is
              useful when scripting the batch mode of iotop. Instead of choos-
              ing  the  most  appropriate unit iotop will display all sizes in
              kilobytes
       --no-kilobytes
              Use human friendly units
       -t, --time, --timestamp
              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
       --no-fullcmdline
              Show processes' 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  column data source. Accepted values for TYPE are io,
              r, w, rw and sw.
       -R, --reverse-graph
              Reverse GRAPH direction - show most recent values on  the  right
              side
       --no-reverse-graph
              Do  not reverse GRAPH direction - show most recent values on the
              left side
       -q, --quiet
              Suppress headers before each run (implies --batch). This  option
              can  be  specified  up  to three times to suppress the output of
              different 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
       --no-dead-x
              Show exited processes/threads with inverse background
       -e, --hide-exited
              Hide exited processes
       --show-exited
              Show exited processes
       -l, --no-color
              Do not colorize values
       --color
              Colorize  values.  This will override the effect of the environ-
              ment variable NO_COLOR when explicitly specified on the  command
              line.
       -T, --hide-time
              Do not show time clock in upper right corner
       --show-time
              Show time clock in upper right corner
       --si   Use SI units of 1000 when printing values. The default is non-SI
              1024
       --no-si
              Use non-SI units of 1024 when printing values
       --threshold=1..10
              Set the threshold to switch to next unit. The default value is 2
       --ascii
              Disable using Unicode
       --unicode
              Use Unicode drawing chars
       -N, --inverse
              Use inverse interface (black on white)
       --no-inverse
              Use normal interface (useful  when  changing  config  file  with
              --write)
       --filter=REGEX
              Filter  processes  by  TID and COMMAND. This will only show pro-
              cesses where TID or COMMAND are matching the REGEX.
       --uid2name=MODE
              Set the UID to user name resolution mode for  the  USER  column.
              The  USER column shows the real user id of a task, as the kernel
              reports it in taskstats, so a set-user-ID program shows the user
              that  started  it.   Accepted values for MODE are always (always
              resolve UID to username using getpwuid(3)), none (do not resolve
              UID, show numeric UID instead), cyclic (cache resolved usernames
              internally for each refresh  cycle  to  avoid  repetitive  getp-
              wuid(3)  lookups),  and  static (cache resolved usernames perma-
              nently across all refresh cycles, the default; Ctrl-L clears the
              cache).
       -W, --write
              Merge the preceding options to the current config, save the con-
              fig and exit.  Note that all options  after  this  one  will  be
              ignored.
       --debug-write
              Like  -W  (--write),  but  write  the  config with the preceding
              options to standard output instead of saving it, and exit.  Note
              that  all options after this one will be ignored.  Do not use in
              normal operation; this option is for debugging and testing.
KEYBOARD SHORTCUTS
       q, Q   Exit
       W      Save current settings to configuration file in a place  conform-
              ing  to XDG Base Directory Specification. The respective path is
              created in case it does not exist. In case of error creating  or
              accessing  the  config  file, a warning with the reason is shown
              and the configuration is not saved.
              $XDG_CONFIG_HOME/iotop/iotoprc   -   if   environment   variable
              XDG_CONFIG_HOME is set and not empty.
              $HOME/.config/iotop/iotoprc  -  if environment variable XDG_CON-
              FIG_HOME is not set or empty, but HOME is set and not empty.
              There is no configuration file if neither of them is set and not
              empty.
       D      Reset all settings to their default values
       <space>, 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, filter or search. 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
       Ctrl-F Toggle grouping threads below their process
       a, A   Cycle showing accumulated/accum-bw/current values
       Ctrl-A Toggle accumulating since the processes started or  since  iotop
              first saw them
       ?      Toggle showing inline help
       h, H   Toggle showing window help
       <, >   Scroll  the  help window up and down when it does not fit on the
              screen
       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.
       R      Toggle reverse GRAPH direction
       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
       n, N   Toggle inverse interface (black on white)
       x, X   Toggle the display mode of exited processes/threads between let-
              ter x and inverse background
       e, E   Toggle the display of exited processes
       T      Toggle the display of time clock in upper right corner
       s, S   Toggle freeze of data collection
       Ctrl-B, b
              Toggle SI units
       Ctrl-R, t
              Cycle unit threshold
       Ctrl-T Toggle task_delayacct kernel sysctl
       Ctrl-L Redraw screen and clear UID cache
       /      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
       NO_COLOR
              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  sup-
              pressed.  The config file keeps the colors only when they differ
              from what it gives, so --write and W do not save it  as  a  set-
              ting.
       HOME, XDG_CONFIG_HOME
              Used  to  determine the config file path. See the W shortcut for
              details.
       IOTOP_NO_RENICE
              Disable the i shortcut. The user will not be able to change pro-
              cesses' nice values.
SEE ALSO
       ionice(1), top(1), vmstat(1), atop(1), htop(1), getpwuid(3)
AUTHOR
       The original Python iotop implementation was written by Guillaume Chaz-
       arain.  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 since 2020 by Boian Bonev.
       This manual page was started by Paul Wise for the Debian project and is
       placed in the public domain.
                               October 19, 2026                       IOTOP(8)