package Sys::MemInfo; use strict; use warnings; require Exporter; require DynaLoader; our @ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. # Do not simply export all your public functions/methods/constants. our @EXPORT = qw( ); our @EXPORT_OK = qw( totalmem freemem totalswap freeswap availkeys get ); our $VERSION = 0.99; bootstrap Sys::MemInfo $VERSION; sub get { my $field = shift; no strict; return &{$field}; } =head1 NAME Sys::MemInfo - query the total free and used physical memory =head1 SYNOPSIS use Sys::MemInfo qw(totalmem freemem totalswap); print "total memory: ".(&totalmem / 1024)."\n"; print "free memory: ".(&freemem / 1024)."\n"; print "total swap: ".(&totalswap / 1024)."\n"; print "free swap: ".(Sys::MemInfo::get("freeswap") / 1024)."\n"; =head1 DESCRIPTION Sys::MemInfo return the total amount of free and used physical memory in bytes in totalmem and freemem variables. Total amount of free and user swap memory are alse returned in totalswap and freeswap variables. This module has been tested on Linux 3.13.0, UnixWare 7.1.2, AIX5, OpenBSD 3.8, NetBSD 2.0.2, FreBSD 5.4, HPUX11, Solaris 9, Tru64 5.1, Irix 6.5, Mac OS X 10.2 darwin and Windows XP. It should work on FreeBSD 4 and Windows 9X/ME/NT/200X/Vista. =head1 METHODS =over 4 =item availkeys Return list of all accessor keys (freemem, totalmem, etc.) This is useful for dumping out all known information from the object by calling get() on all of the returned keys. =item freemem Returns free physical memory in bytes. =item freeswap Returns free swap space in bytes. =item get Returns the value of the passed key. =item totalmem Returns total physical memory size in bytes. =item totalswap Returns total swap space in bytes. =back =head1 AUTHOR Sylvain Cresto Escresto@gmail.comE Thanks to Laurent Dufour and Wilson Snyder. =head1 BUGS Please send bug-reports to scresto@gmail.com =head1 LICENCE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =head1 COPYRIGHT Copyright (C) 2005, 2006, 2014, 2016 - Sylvain Cresto =cut 1;