18

Occasionally, something on my system starts hammering the disk. I would like to log data that would let me know about I/O usage per process, then I could go back to it later and see what keeps doing this. How should I go about solving this problem? Bonus points for solving this for arbitrary block devices.

1 Answer 1

15

I would give iotop a try (Linux only). It is pretty good at giving you the processes with high I/O transfers, but iotop is more for displaying the current status than logging.

For logging, sar is always a good tool for performance aspects.

5
  • guichaz.free.fr/iotop Commented Aug 12, 2010 at 18:56
  • 1
    worth noting that iotop is linux only. (at least I'm 99% sure it is) Commented Aug 12, 2010 at 22:23
  • sar is also available on all unix versions that I ever worked with. Commented Aug 13, 2010 at 13:58
  • 2
    On Ubuntu systems (this might apply to all Linuxes), there is some debate weather iotop works correctly. See bugs.launchpad.net/ubuntu/+source/linux/+bug/493156 Commented Dec 17, 2010 at 23:21
  • @Stefan: From what I read that will only affect distributions that have configured their kernel with CONFIG_TASK_DELAY_ACCT enabled. Is there something else in the thread I missed? Commented Dec 17, 2010 at 23:52

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.