How do I find out what processes are accessing the hard disk in a GNU/Linux-based system?

62,579

Solution 1

You got three-fifths of the answer right yourself - the one you want is called iotop. Search for it in the extra repositories, it should be there.

alt text

Solution 2

htop » F2 » Columns » Active Columns » IO_RATE

Then sort by this column. Also you can add IO_READ_RATE and IO_WRITE_RATE columns and sort according to them.

Solution 3

I use atop.

Atop is an ASCII full-screen performance monitor that is capable of reporting the activity of all processes (even if processes have finished during the interval), daily logging of system and process activity for long-term analysis, highlighting overloaded system resources by using colors, etc. At regular intervals, it shows system-level activity related to the CPU, memory, swap, disks and network layers, and for every active process it shows the CPU utilization, memory growth, disk utilization, priority, username, state, and exit code.

enter image description here

Share:
62,579
Olivier Dagenais
Author by

Olivier Dagenais

I write code and I eat software engineering for breakfast.

Updated on September 17, 2022

Comments

  • Olivier Dagenais
    Olivier Dagenais over 1 year

    I'm looking for the equivalent to top for disk access, so I can tell which process(es) are currently reading and/or writing to disk. I'm currently using Ubuntu, but I imagine there's a standard tool that's available as part of the GNU toolset.

  • quack quixote
    quack quixote over 14 years
    +1 beat me to it. here's the project homepage: guichaz.free.fr/iotop
  • Olivier Dagenais
    Olivier Dagenais over 14 years
    There's an iotop package in the universe repository available since Ubuntu 8.10 (Intrepid Ibex), so a sudo apt-get install iotop should do it.
  • benjymous
    benjymous over 7 years
    This worked for me on the embedded Linux in a Synology box (where installing other packages isn't really an option)