|
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;
|