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.