NAME
   Linux::Smaps::Tiny - A minimal and fast alternative to Linux::Smaps

SYNOPSIS
       use Linux::Smaps::Tiny qw(get_smaps_summary);

       my $summary = get_smaps_summary();
       my $size = $summary->{Size};
       my $shared_clean = $summary->{Shared_Clean};
       my $shared_dirty = $summary->{Shared_Dirty};

       print "Size / Clean / Dirty = $size / $shared_clean / $shared_dirty\n";

DESCRIPTION
   This module is a tiny interface to /proc/PID/smaps files. It was written
   because when we rolled out Linux::Smaps in some critical code at a Big
   Internet Company we experienced slowdowns that were solved by writing a
   more minimal version.

   This module will try to use XS code to parse the smaps file, and if that
   doesn't work it'll fall back on a pure-Perl version.

   If something like that isn't your use case you should probably use
   Linux::Smaps instead. Also note that Linux::Smaps itself has been
   optimized
   <http://mail-archives.apache.org/mod_mbox/perl-modperl/201103.mbox/brows
   er> since this module was initially written.

 SPEED
   The distribution comes with a contrib/benchmark.pl script. As of writing
   this is the speed of Linux::Smaps v.s. Linux::Smaps::Tiny, both the XS
   and PP versions:

                                Rate Linux::Smaps Linux::Smaps::Tiny::PP Linux::Smaps::Tiny
       Linux::Smaps            810/s           --                   -22%               -61%
       Linux::Smaps::Tiny::PP 1033/s          28%                     --               -51%
       Linux::Smaps::Tiny     2101/s         159%                   103%                 --

FUNCTIONS
 get_smaps_summary
   Takes an optional process id (defaults to "self") returns a summary of
   the smaps data for the given process. Dies if the process does not
   exist.

   Returns a hashref like this:

           {
             'MMUPageSize' => '184',
             'Private_Clean' => '976',
             'Swap' => '0',
             'KernelPageSize' => '184',
             'Pss' => '1755',
             'Private_Dirty' => '772',
             'Referenced' => '2492',
             'Size' => '5456',
             'Shared_Clean' => '744',
             'Shared_Dirty' => '0',
             'Rss' => '2492'
           };

   Values are in kB.

LICENSE AND COPYRIGHT
   Copyright 2011 Yves Orton <[email protected]> and Ævar Arnfjörð Bjarmason
   <[email protected]>

   This program is free software, you can redistribute it and/or modify it
   under the same terms as Perl itself.