NAME BSD::getloadavg - Perl Interface to getloadavg (3) SYNOPSIS use BSD::getloadavg; my @loadavg = getloadavg(); DESCRIPTION This module allows you to access load average without invoking uptime(1). Instead of my @loadavg = (qx(uptime) =~ /([\.\d]+)\s+([\.\d]+)\s+([\.\d]+)/); You can simply use BSD::getloadavg; my @loadavg = getloadavg(); COMPATIBILITY Though named BSD::getloadavg, this module also works on Linux and other platforms that support getloadavg. To find if your platform supports this module, Just nm /usr/lib/libc.* | grep getloadavg BENCHMARK You can run benchmark with t/benchmark.pl. Here is the result in my platforms. MacBook Pro 2GHz, Mac OS X 10.4.8 Benchmark: running XS, command for at least 3 CPU seconds... XS: 3 wallclock secs ( 1.40 usr + 1.60 sys = 3.00 CPU) @ 69808.00/s (n=209424) command: 16 wallclock secs ( 0.58 usr 2.77 sys + 2.30 cusr 9.68 csys = 15.33 CPU) @ 1060.60/s (n=3553) Rate command XS command 1061/s -- -98% XS 69808/s 6482% -- Dual Xeon 2.8GHz, FreeBSD 6-Stable Benchmark: running XS, command for at least 3 CPU seconds... XS: 4 wallclock secs ( 2.49 usr + 0.58 sys = 3.07 CPU) @ 139022.98/s (n=426844) command: 11 wallclock secs ( 0.19 usr 2.98 sys + 2.34 cusr 7.12 csys = 12.62 CPU) @ 919.07/s (n=2908) Rate command XS command 919/s -- -99% XS 139023/s 15026% -- EXPORT getloadavg() SEE ALSO getloadavg(5) Also available as <http://www.freebsd.org/cgi/man.cgi?query=getloadavg&sektion=3>. Since getloadavg is in libc in most platform, Makefile.PL needed no tweaking. If you find a platform that does not have getloadavg in libc, please report. Sys::CpuLoad This module accesses load average via /proc or uptime command. Therefore the performance is analogous to the benchmark above. BSD::Sysctl Seems like the most versatile module in this arena. Unfortunately most-platform dependent also. Works only on FreeBSD as of Version 0.06. AUTHOR Dan Kogai, <dankogai@dan.co.jp> COPYRIGHT AND LICENSE Copyright (C) 2006 by Dan Kogai This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.