How can I log my hard drive activity by program?

33

15

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.

Joseph

Posted 2009-11-12T03:45:40.413

Reputation: 2 109

1

well, if you upgrade to Windows Vista or Win7, this is built in.. http://www.codinghorror.com/blog/archives/001235.html

– Jeff Atwood – 2009-11-25T10:08:48.113

1Unfortunately, upgrading is currently not an option. – Joseph – 2009-11-25T10:12:00.993

Answers

30

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

Grumpy ol' Bear

Posted 2009-11-12T03:45:40.413

Reputation: 5 313

+1 Thank you , I've wanted this tool so many times. – T.J. Crowder – 2010-04-29T10:50:13.250

It says it's Client Server Runtime Process (csrss.exe). what to do? – Mark Jeronimus – 2016-03-12T23:41:24.300

1This is EXACTLY what I was looking for. Thanks! – Joseph – 2009-11-26T06:55:45.027

2Unfortunately it doesn't seem to show anything done by the system, so you're likely to quite often find yourself staring at a nearly all-zeroes list in ProcExp despite your HDD thrashing like crazy. Still, a very handy tool. – RomanSt – 2009-12-13T19:19:57.540

Um...trashing like crazy = activity by an app except when you've a broken HDD.

HDD's don't trash like crazy in "idle" mode. – Grumpy ol' Bear – 2009-12-14T00:19:39.017

I have once or twice a day heavy HDD activity and ProcessExplorer does not show anything. – Ignacio Soler Garcia – 2010-01-20T09:16:04.220

8

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.

Joe Internet

Posted 2009-11-12T03:45:40.413

Reputation: 5 145

Any hints at finding what I'm looking for? – Joseph – 2009-11-12T05:47:03.350

1Process Monitor doesn't show "disk I/O" - it shows total I/O, which includes other things besides the HDD. – Hugh Allen – 2009-11-26T05:21:56.213

I think that you're thinking of Process Explorer. Process Monitor includes the functionality of the previous Filemon, which shows real-time filesystem activity. – Joe Internet – 2009-11-26T06:21:58.793

6

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

Avis

Posted 2009-11-12T03:45:40.413

Reputation: 282

Actually there is. It’s called FileMon. You’ll have to find a copy, but it’s worth the effort.

– Synetech – 2011-08-08T06:39:52.497

1Diskmon is a great tool to see where and what is using up so much of your hard drive. – AskaGamer – 2009-11-12T05:38:14.973

How do you show which program is doing the reading and writing? – Joseph – 2009-11-12T05:43:43.777

you can use process monitor from Microsoft to find that out, sadly there isn't a program out there that combines the functionality of diskmon and process monitor together. – Avis – 2009-11-12T07:11:09.093

2

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

enter image description here

Dewsun

Posted 2009-11-12T03:45:40.413

Reputation: 21

2

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

John T

Posted 2009-11-12T03:45:40.413

Reputation: 149 037

How can you tell which program is currently producing the most hard drive activity? – Joseph – 2009-11-12T05:52:07.117

1The IO Write Bytes and IO Read bytes tell you how much data the application has read/written from the hard disk in total since execution, in bytes obviously. You can enable the other columns to see the amount of reads/writes and check which one is increasing most rapidly. – John T – 2009-11-12T05:56:24.190

1Can is be sorted by most rapidly increasing? The only way I can figure it out is with a few screenshots and a calculator. – Joseph – 2009-11-12T06:20:12.800

1

Anvir Task Manager does exactly what you're looking for. You can sort by disk load (i.e. current bytes per second). There are free and paid versions, and it can run portably. Works on XP through 7. This feature is in all variants.

http://www.anvir.com/task-manager-windows-startup.htm

user139849

Posted 2009-11-12T03:45:40.413

Reputation: 11