NAME
Linux::Proc::Cpuinfo - XS wrapper for libproccpuinfo - a generic parser for /proc/cpuinfo
SYNOPSIS
use Linux::Proc::Cpuinfo;
my $info = Linux::Proc::Cpuinfo->new;
if ( defined $info ) {
print "Architecture:\t\t", $info->architecture, "\n";
print "Hardware Platform:\t", $info->hardware_platform, "\n";
print "Frequency:\t\t", $info->frequency, "\n";
print "Bogomips:\t\t", $info->bogomips, "\n";
print "Cache:\t\t\t", $info->cache, "\n";
print "CPUs:\t\t\t", $info->cpus, "\n";
}
DESCRIPTION
Linux::Proc::Cpuinfo is a XS wrapper for libproccpuinfo
(https://savannah.nongnu.org/projects/proccpuinfo/). It provides a generic interface to access /proc/cpuinfo
.
METHODS
new
or new('filename')
Returns a new Linux::Proc::Cpuinfo object. Without any argument, parses /proc/cpuinfo
. If filename
is passed, then the file with that name is parsed.
On error, returns undef
.
architecture
Returns CPU architecture. If /proc/cpuinfo
file does not list these values or if the library fails to recognise the architecture, then the value will be set to undef
.
hardware_platform
Returns hardware platform. If /proc/cpuinfo
file does not list these values or if the library fails to recognise the hardware platform, then the value will be set to undef
.
frequency
Returns the CPU clock speed in MHz. If the /proc/cpuinfo
file does not list the clock speed or if the library fails to recognise the clock speed, then this value defaults to undef
.
bogomips
Returns the BogoMips as calculated by the kernel. BogoMips defaults to undef
if the /proc/cpuinfo
file does not list the BogoMips or if the library fails to recognise the BogoMips.
cache
Returns the amount of L2 cache in kilobytes. If the /proc/cpuinfo
file does not list the amount of L2 cache or if the library fails to recognise the amount of L2 cache, then the value defaults to undef
.
cpus
Returns the total number of processors detected. On systems that list the number of detected processors and the number of active/enabled processors, the number of detected processors is used. If the /proc/cpuinfo
file does not list the number of processors or if the library fails to determine the number of processors, then the value defaults to 1
since all running computers have at least 1 processor.
INSTALLING libproccpuinfo
Gentoo Linux
# emerge libproccpuinfo
Generic Linux
Download the latest archive (named similar to
libproccpuinfo-x.x.x.tar.bz2
) from http://download.savannah.gnu.org/releases/proccpuinfo/ and extract it.$ cmake -D CMAKE_INSTALL_PREFIX=/usr . $ make $ make test # make install
Please send me information on how to install it on other systems and I will update it here.
ACKNOWLEDGEMENT
Tim Heaney - reported missing dependency Devel::CheckLib
AUTHOR
Alan Haggai Alavi <alanhaggai@alanhaggai.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Alan Haggai Alavi.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.