Blame MemInfo.pm

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