Is there a utility for Windows that operates similarly to iotop for Linux? I'm looking for simple tool that can tell me what applications are writing to disk and how much they're actually writing.

  • Which version of Windows are you using?
    – Sim
    Dec 1, 2009 at 13:45
  • It's an older laptop that runs XP.
    – Pridkett
    Dec 1, 2009 at 14:02

4 Answers 4


The Disk tab of Resource Monitor in Windows 7/Vista is perfect for this. However if you aren't running Windows 7 then have a look at Process Explorer and add the relevant I/O column counters.

  • 2
    The problem with this solution is that if one or more services are eating up diks io time, you won't be able to narrow down since in the task manager all service processes showing up as svchost.
    – Sandor
    Feb 15, 2015 at 10:59
  • 2
    This isn't really helpful because it just says that "System" or "svchost" are hogging the disk
    – endolith
    Nov 6, 2015 at 14:47
  • 1
    @endolith: well, that's a problem with Windows architecture -- that it runs multiple services within one process. I don't think there's a way around it. Sep 10, 2021 at 17:11

The Windows Sysinternals system utilities suite includes the Process Monitor utility which can monitor the process I/O activity to the File system, Registry, or Network. In addition, there is also a Disk Monitor utility which monitors Disk I/O by request type, sectors, duration, etc.


Process Explorer does this. I looked at the other answers, and they don't do this:

Process explorer columns

Follow the steps from this site:

  1. Visit Microsoft’s Sysinternals web site and download Process Explorer.
  2. After you have started Process Explorer, click on the View menubar item and then Select Columns.
  3. Click on the Process I/O tab and check:


    Read Bytes


    Write Bytes

  4. Hit OK.

  5. You will now see the new columns listed for each process. To identify what process is killing your hard drive, just look for the process with the highest number of Reads or Bytes.

This will show you, per process, what is accessing the disk and how much.


Process monitor by sysinternals is an excellent tool, but the IO monitor isn't showing the IO that hits the disk - its showing total IO full stop - even if that is hitting the memory.

FYI you can also use PERFMON to show exactly the same thing if you use the "process" and then Data IO operations per sec counter.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .