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

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


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.


iotop is the counterpart to top that watches I/O usage information. If you want detailed information on the files opened by a process, or the list of files opened in a directory, or watch over files in the whole system, use lsof.lsof is quite versatile and provides information about open tcp, udp, NFS connections too.