lat_pagefault(8) measure the cost of pagefaulting pages from a file


lat_pagefault [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] file [ file.... ]


lat_pagefault times how fast a page of a file can be faulted in. The file is flushed from (local) memory by using the msync() interface with the invalidate flag set. (Note that NFS does not send this over the wire so this makes for a handy way to measure the cost of going across the wire.)

The benchmark maps in the entire file and the access pages backwards using a stride of 256K kilobytes.


Output format is below; it prints the average cost of page faulting a page.

Pagefaults on <file>: <d> usecs


Using a stride of 256K may be a bad idea because SCSI controllers may have caches bigger than that.


Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.


Carl Staelin and Larry McVoy

Comments, suggestions, and bug reports are always welcome.