Index of /~plonka/fincore

[ICO]NameLast modifiedSizeDescription

[DIR]Parent Directory   -  
[TXT]COPYING 17-Dec-1996 14:59 18K 
[TXT]fincore 23-May-2007 16:18 8.3K 
[TXT]fincore_pod.html 23-May-2007 16:19 4.2K 

fincore is a command that shows which pages (blocks) of a file are in core memory.
It is particularly useful for determining the contents of the buffer-cache.
The name means "File IN CORE" and I pronounce it "eff in core".

Here is some sample output:
$ fincore foo.rrd
foo.rrd: no incore pages.

$ cat foo.rrd >/dev/null # read the whole file
$ fincore foo.rrd
foo.rrd: 26 incore pages: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

$ ls |grep '\.rrd$' |~/perl/fincore --stdin --justsummarize
page size: 4096 bytes
2214049 pages, 8.4 Gbytes in core for 268994 files; 8.23 pages, 32.9 kbytes per file.
And the usage information:
Usage:
    fincore [options] <-stdin | file [...]>

     Options:
      -help - brief help message
      -man - full documentation
      -summary - report summary statistics for the files
      -justsummarize - just report summary statistics for the files
      -stdin - read file names from standard input


The fincore command was introduced in the paper, "Application Buffer-Cache Management for Performance: Running the World's Largest MRTG", that appears in the proceedings of the LISA 2007 conference in Dallas, November, 2007.
It is available online here:
http://www.usenix.org/events/lisa07/tech/plonka.html

You may also be interested in the related fadvise command.


Dave Plonka, May 21 2007