The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Sys::Statistics::Linux::MemStats - Collect linux memory information.

SYNOPSIS

use Sys::Statistics::Linux::MemStats;

my $lxs  = Sys::Statistics::Linux::MemStats->new;
my $stat = $lxs->get;

DESCRIPTION

Sys::Statistics::Linux::MemStats gathers memory statistics from the virtual /proc filesystem (procfs).

For more information read the documentation of the front-end module Sys::Statistics::Linux.

MEMORY INFORMATIONS

Generated by /proc/meminfo.

memused         -  Total size of used memory in kilobytes.
memfree         -  Total size of free memory in kilobytes.
memusedper      -  Total size of used memory in percent.
memtotal        -  Total size of memory in kilobytes.
buffers         -  Total size of buffers used from memory in kilobytes.
cached          -  Total size of cached memory in kilobytes.
realfree        -  Total size of memory is real free (memfree + buffers + cached).
realfreeper     -  Total size of memory is real free in percent of total memory.
swapused        -  Total size of swap space is used is kilobytes.
swapfree        -  Total size of swap space is free in kilobytes.
swapusedper     -  Total size of swap space is used in percent.
swaptotal       -  Total size of swap space in kilobytes.
swapcached      -  Memory that once was swapped out, is swapped back in but still also is in the swapfile.
active          -  Memory that has been used more recently and usually not reclaimed unless absolutely necessary.
inactive        -  Memory which has been less recently used and is more eligible to be reclaimed for other purposes.
                   On earlier kernels (2.4) Inact_dirty + Inact_laundry + Inact_clean.

The following statistics are only available by kernels from 2.6.

slab            -  Total size of memory in kilobytes that used by kernel for data structure allocations.
dirty           -  Total size of memory pages in kilobytes that waits to be written back to disk.
mapped          -  Total size of memory in kilbytes that is mapped by devices or libraries with mmap.
writeback       -  Total size of memory that was written back to disk.
committed_as    -  The amount of memory presently allocated on the system.

The following statistic is only available by kernels from 2.6.9.

commitlimit     -  Total amount of memory currently available to be allocated on the system.

METHODS

new()

Call new() to create a new object.

my $lxs = Sys::Statistics::Linux::MemStats->new;

It's possible to set the path to the proc filesystem.

 Sys::Statistics::Linux::MemStats->new(
    files => {
        # This is the default
        path    => '/proc',
        meminfo => 'meminfo',
    }
);

get()

Call get() to get the statistics. get() returns the statistics as a hash reference.

my $stat = $lxs->get;

EXPORTS

No exports.

SEE ALSO

proc(5)

REPORTING BUGS

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

AUTHOR

Jonny Schulz <jschulz.cpan(at)bloonix.de>.

COPYRIGHT

Copyright (c) 2006, 2007 by Jonny Schulz. All rights reserved.

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