What applications are exactly reading/writing my HDD in a given period? Application for statistics (on Windows)?

TL;DR

Could you suggest any programs that makes statistics (e.g. stored in files as logs) of what applications are exactly reading/writing my HDD in a given period?

Longer explanation

Sometimes I hear my HDD clattering for a long time, which can also be caused by writing to or reading stuff from the pagefile (e.g. because of low free memory - I have 2 GBs of RAM, but on my Windows 7 x64, when using many programs, including some browsers with many tabs I sometimes run out of free memory, or have just little of it), but I would be curious if any other applications are using it too for example for writing temp files, config files, etc..

I can see the CURRENT stats in either Windows Resource Monitor or Process Explorer, but I would like to restrict stats for a given period of time, and store it for later inspection.


Solution 1:

Performance Monitor also comes with Windows 7.

  1. Start logging with the System - System Performance log. It will run for 60 seconds.

    Screenshot of logging
    Click for full size

  2. View the report. It shows which files are accessed most in Hot Files. You can click the + to the left of the file to find out which images (processes) are accessing it, and how much. You can also view which images (processes) read/write most to a specific disk in the Disk Breakdown breakdown section, just click the + to the left of the disk number.

    Screenshot of report
    Click for full size

  3. For additional customisations, including logging time, you can create your own (User Defined) data collector. This is actually a rather advanced too, there is a lot of things you can log. I would recommend starting by basing off one of the System sets as a template, and just extending the time it runs for.

Solution 2:

Either the Windows Resource Monitor (built in)

Resource monitor disk stats

or the Sysinternals Process Explorer in either the system information view for graphs

Process Explorer system information

or the main window with the I/O delta read/write bytes columns enabled for numbers

Process Explorer list view

will give you an ad-hoc view about what's doing which amount of I/O.

If you need exact throughput numbers per process or per handle, you would want to look at the per process read/write columns.