I would like to measure the number of disk seeks that are made by a process under Windows. If I open Task Manager, I can see a column named "I/O - reads". Is this the equivalent of disk seeks? Can I conclude that if a process is making 120 disk seeks on a 7200 RPM harddisk, then it is utilizing 100% of capacity?

This is relevant for ServerFault, because it enables me to estimate how heavy my application will be on a file server once it is in the production environment.


I would user perfmon (built into xp/2003 and upwards, type perfmon in your run box).

Make a new counter set and ad some counters from the PhysicalDisk performance object. There are several that may be of interest to you, like disk reads per second and split i/o per second.

I think disk reads/sec and disk writes/sec is what you are after. I would then compare them with the IO read/Write operations/sec from the process object for your process.

  • io read write operations is ALL IO, including network and device IO – Jim B Jun 9 '11 at 13:20

the perfmon counter you want to measure how heavily a disk is utilized is physical disk\%disk read time. There is no counter that specifically measures individual seeks, nor would that be any indicator of how any application would impact a file server since windows abstracts the disk. A better indicatgion of how your application will impact a system is to look at logical disk\average disk read queue length for a reasonabale sample interval for your application, as well as process\page faults/sec

  • The OP could also monitor Disk Reads and Writes/second and Disk Seconds/Read and Write. – joeqwerty Jun 9 '11 at 13:13
  • disk reads/sec is the rate of read operations per second on a disk (physical disk) - it's got nothing to do with the processes running at the time, the usage isn't necessarily corelated – Jim B Jun 9 '11 at 13:19
  • I realize that. My point is that there's no "Disk Seeks Per Process" perfmon counter (as was your point also), so maybe monitoring disk secs/read or disk reads/sec will give the OP some idea of what he's looking for. It's as likely to do that as monitoring % disk read time is. – joeqwerty Jun 9 '11 at 23:54
  • %disk read time is designed to tell you how busy your disk is. It's the closest to disk seeks per sec that you are going to get, as it is a time related counter. Disk reads per sec is the rate of reads, so sectors in the cache will necessary skew that number, as well as sporadic things like buffer flushes and dirty pages. Knowing that you maxed your IO for N period of time, is I think, closer to what the OP is looking for rather than N number of reads per sec (what's the upper limit- how many of thos were multi-sector reads - etc). THey aren't quite the same thing – Jim B Jun 10 '11 at 1:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.