How can I log my hard drive activity by program?

I am using Windows XP and am looking for a utility that can tell me the percentage of hard drive activity a program is using.

Basically, I'm looking for something like Task Manager and its ability to show CPU use but for hard drive activity. There are many times where my computer will be mostly idle on CPU, but because of hard drive activity, everything slows down. I'd like to see the programs causing that.

If it can be done by using something like SNMP or WMI with another program, I am also open to that. It doesn't have to be realtime as long as I can tell what is doing the most hard drive thrashing.


Solution 1:

What you are looking for is Process Explorer. Go to "View" -> "Select Columns" then select the tab "Process Performance" and select what you want to know:

  • I/O Delta Read - The total amount of reading operations caused by this process in real-time
  • I/O Delta Read Bytes - The total amount of reading operations caused by this process in bytes in real-time
  • I/O Delta Write - The total amount of writing operations caused by this process in real-time
  • I/O Delta Write Bytes - The total amount of writing operations caused by this process in bytes in real-time
  • I/O Delta Other - The total amount of other operations caused by this process in bytes real-time
  • I/O Delta Other Bytes - The total amount of other operations caused by this process in bytes in real-time
  • I/O Delta Total Bytes - The total amount of all operations (read, write, other) caused by this process in bytes in real-time

It looks something like that:

alt text

Solution 2:

Process Monitor from Sysinternals will show you all of the disk I/O going on in your system. It shows a lot of info, so you'll have to mess around with the settings to get what you're looking for.

Solution 3:

There's a tool called Diskmon from Microsoft that's used exactly for this purpose. I think that's what your looking for.

Solution 4:

In the task manager processes tab, go to View -> Select columns. You can add columns for each process to show hard drive IO.

enter image description here

Solution 5:

Hexagora Performance monitor gives good Graphical information
http://www.hexagora.com/en_dw_davperf.asp

enter image description here