I want to find the process with the highest IOPS in the system. What should I do ?

  • 1
    You do know that PS stands for per second? Your post seems to be getting that mixed up with absolute total.
    – Bib
    Commented Jan 22, 2022 at 18:34

1 Answer 1


To find the process with the highest input/output operations per second (IOPS) you can use a multitude of CLI tools (sar comes to mind), but I like iotop the best. It has a top-like text-mode UI and shows current and total IOPS as well as per-process read/write bytes/second and IO usage percentage.

iotop is present in most package repositories.

The controls in TUI mode are straightforward:

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, q to
quit, any other key to force a refresh.

You can also invoke iotop as a CLI tool with command-line options:

  -o, --only            only show processes or threads actually doing I/O
  -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
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)
  • Unfortunately it only shows bytes/sec and not IOPS.
    – CherryDT
    Commented Dec 15, 2022 at 13:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .