I would like to measure "truly" hard page faults, i.e. page faults that result in a disk IO.
It looks as if Memory\Page Reads/sec
might do the trick, but as was explained in this answer, the page reads value includes reads that are satisfied from the file system cache, never reaching the disk. That seems to be the reason why the count of Page Reads/sec
is consistently higher than the actual disk IOPS as measured by the counter Physical Disk\Disk Reads/sec
.
My question is: How can I measure the number of read and write page faults per second reaching the disk?
Best Answer
It's been a year and no one's answered this. While I'm not expert on the subject of MS windows by any means, I believe you may want to look at
"\Memory\Pages Input/sec"
and"\Memory\Pages Output/sec"
. Microsoft has long descriptions of these values via their PDH library. Some are described here. You can search that page for "hard fault", but you won't find exactly what you're looking for (only hard faults) Here's a paste of their description of "Memory\Pages Input/Sec" which may be of help, YMMV:An I should add, in Windows 8 and up, you can poll these values from the powershell command line with the
Get-Counter
command, e.g.Get-Counter -Counter "\Memory\Pages Input/sec"