---
name: "iotop"
section: "8"
platform: "linux"
package: "iotop"
version: "0.6-13"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/iotop/8"
---

# iotop(8)

simple top-like I/O monitor

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

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 **Actual DISK READ** and **Actual DISK WRITE** values represent corresponding bandwidths for actual disk I/O between kernel block device subsystem and underlying hardware (HDD, SSD, etc.). Thus **Total** and **Actual** 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' 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.

  - **-q**

    column names are only printed on the first iteration,

  - **-qq**

    column names are never printed,

  - **-qqq**

    the I/O summary is never printed.

## SEE ALSO

[**ionice**(1)](/ionice/1.md), [**top**(1)](/top/1.md), **vmstat**(1), [**atop**(1)](/atop/1.md), [**htop**(1)](/htop/1.md)

## AUTHOR

iotop was written by Guillaume Chazarain.

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