2 Linux::SysInfo - Perl interface to the sysinfo(2) Linux system call.
8 use Linux::SysInfo qw/sysinfo/;
11 print "$_: $si->{$_}\n" for keys %$si;
14 This module is a wrapper around the sysinfo(2) Linux system call. It
15 gives information about the current uptime, load average, memory usage
16 and processes running. Other systems have also this system call (e.g.
17 Solaris), but in most cases the returned information is different.
21 This constant is set to 1 if your kernel supports the three extended
22 fields "totalhigh", "freehigh" and "mem_unit" ; and to 0 otherwise.
26 This function takes no argument. It returns "undef" on failure or a hash
27 reference whose keys are the members name of the "struct sysinfo" on
32 Seconds elapsed since the system booted.
34 * "load1", "load5", "load15"
36 1, 5 and 15 minutes load average.
40 Total usable main memory size.
44 Available memory size.
48 Amount of shared memory.
52 Memory used by buffers.
56 Total swap space size.
60 Swap space still available.
64 Number of current processes.
66 Prior to Linux 2.3.23 on i386 and 2.3.48 on all other architectures, the
67 memory sizes were given in bytes. Since then, the following members are
68 also available and all the memory sizes are given as multiples of
73 Total high memory size.
77 Available high memory size.
81 Memory unit size in bytes.
84 The only function of this module, "sysinfo", and the constant
85 "LS_HAS_EXTENDED" are only exported on request. Functions are also
86 exported by the ":funcs" tag, and constants by ":consts".
89 If you upgrade your kernel to a greater version than 2.3.23 on i386 or
90 2.3.48 on any other platform, you will need to rebuild the module to
91 access the extended fields.
93 Moreover, since the perl hash function has changed after the 5.6
94 version, you will also need to recompile the module if you upgrade your
95 perl from a version earlier than 5.6.
101 The sysinfo(2) man page.
103 Sys::Info : Gather information about your system.
105 Sys::CpuLoad : Try several different methods to retrieve the load
108 BSD::getloadavg : Wrapper to the getloadavg(3) BSD system call.
111 Vincent Pit, "<perl at profvince.com>", <http://www.profvince.com>.
113 You can contact me by mail or on "irc.perl.org" (vincent).
116 Please report any bugs or feature requests to "bug-linux-sysinfo at
117 rt.cpan.org", or through the web interface at
118 <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Linux-SysInfo>. I will
119 be notified, and then you'll automatically be notified of progress on
120 your bug as I make changes.
123 You can find documentation for this module with the perldoc command.
125 perldoc Linux::SysInfo
127 Tests code coverage report is available at
128 <http://www.profvince.com/perl/cover/Linux-SysInfo>.
131 Copyright 2007,2008,2009,2010 Vincent Pit, all rights reserved.
133 This program is free software; you can redistribute it and/or modify it
134 under the same terms as Perl itself.