NAME Sys::PageCache - handling page cache related on files INSTALLATION To install this module, run the following commands: perl Makefile.PL make make test make install SYNOPSIS use Sys::PageCache; # determine whether pages are resident in memory $r = fincore "/path/to/file"; printf("cached/total_size=%llu/%llu cached/total_pages=%llu/%llu\n", $r->{cached_size}, $r->{file_size}, $r->{cached_pages}, $r->{total_pages}, ); # free cached pages on a file $r = fadvise "/path/to/file", 0, 0, POSIX_FADV_DONTNEED; DESCRIPTION Sys::PageCache is for handling page cache related on files. METHODS fincore($filepath:Str [, $offset:Int [, $length:Int]]) Determine whether pages are resident in memory. $offset and $length are optional. fincore returns a following hash ref. { cached_pages => Int, # number of cached pages cached_size => Int, # size of cached pages total_pages => Int, # number of pages if cached whole file file_size => Int, # size of file page_size => Int, # page size on your system } fadvise($filepath:Str, $offset:Int, $length:Int, $advice:Int) Call posix_fadvise(2). fadvise returns 1 if success. page_size() Returns size of page size on your system. EXPORTS fincore fadvise POSIX_FADV_NORMAL POSIX_FADV_SEQUENTIAL POSIX_FADV_RANDOM POSIX_FADV_NOREUSE POSIX_FADV_WILLNEED POSIX_FADV_DONTNEED AUTHOR HIROSE Masaaki REPOSITORY https://github.com/hirose31/Sys-PageCache git clone git://github.com/hirose31/Sys-PageCache.git patches and collaborators are welcome. SEE ALSO mincore(2), posix_fadvise(2), https://code.google.com/p/linux-ftools/, https://github.com/nhayashi/pagecache-tool LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.