# iotop

## NAME



           iotop - simple top-like I/O monitor
    


## SYNOPSIS



           **iotop**[_OPTIONS_]
    


## DESCRIPTION



           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 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.  **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.
    


## OPTIONS



           **--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.
    
           **-q** , **--quiet**
                  suppress some lines of header (implies --batch). This
                  option can be specified up to three times to remove header
                  lines.
    
           **--no-help**
                  Suppress the keyboard shortcuts help display.
                  **-q** column names are only printed on the first
                         iteration,
                  **-qq** column names are never printed,
                  **-qqq** the I/O summary is never printed.
    


* * *