Perhaps my knowledge of virtual memory has been supplanted by too much other junk.

Recently I ran some database benchmark tests where all data was to be stored on an NFS server and accessed via NFSv3 mounts. While importing data into the database (over the network via a separate host) I ran sar to collect various statistics at 1 second intervals. When complete (after GiBs of data being read from and written to the NFS server), I expected the pgpgin/s and pgpgout/s entries to be quite high. Instead they were mostly zero with a few moderately large entries. Average faults/s on the other hand were in the hundreds of thousands. The database server is equipped with 256 GiB RAM. Does the minimal paging indicate that nearly everything read from or written to the NFS server initially fit in cache and stayed there for the remainder of the import? What am I not understanding?

  • Stuff read from the NFS server may have fit in cache, but certainly writes should make something happen. I'm not sure, but my guess is that the NFS operations are not considered page faults.
    – Dan Pritts
    Mar 17, 2016 at 4:17
  • I was under the impression that like every other filesystem (?), NFS is hooked in at the VFS layer so that it would use the page cache for everything. If that were the case, then reads should incur major faults whenever something is not yet in memory. I can't quite tell from the diagram at the below link what the thick line represents. upload.wikimedia.org/wikipedia/commons/3/30/…
    – Marc C
    Mar 17, 2016 at 18:50
  • These seem relevant: gossamer-threads.com/lists/linux/kernel/… serverfault.com/questions/270283/… . the words "from disk" are used to describe the statistics you're looking at.
    – Dan Pritts
    Mar 17, 2016 at 19:54


Your Answer

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

Browse other questions tagged or ask your own question.