NAME¶
Sys::Info::Device::CPU - CPU information.
SYNOPSIS¶
use Sys::Info;
use Sys::Info::Constants qw( :device_cpu );
my $info = Sys::Info->new;
my $cpu = $info->device( CPU => %options );
Example:
printf "CPU: %s\n", scalar($cpu->identify) || 'N/A';
printf "CPU speed is %s MHz\n", $cpu->speed || 'N/A';
printf "There are %d CPUs\n" , $cpu->count || 1;
printf "CPU load: %s\n" , $cpu->load || 0;
DESCRIPTION¶
This document describes version 0.7803 of "Sys::Info::Device::CPU"
released on "10 May 2013".
Collects and returns information about the Central Processing Unit (CPU) on the
host machine.
Some platforms can limit the available information under some user accounts and
this will affect the accessible amount of data. When this happens, some
methods will not return anything usable.
METHODS¶
new¶
Acceps parameters in "key => value" format.
cache
If has a true value, internal cache will be enabled. Cache timeout can be
controlled via "cache_timeout" parameter.
On some platforms, some methods can take a long time to be completed (i.e.: WMI
access on Windows platform). If cache is enabled, all gathered data will be
saved in an internal in-memory cache and, the related method will serve from
cache until the cache expires.
Cache only has a meaning, if you call the related method continiously (in a
loop, under persistent environments like GUI, mod_perl, PerlEx, etc.). It will
not have any effect if you are calling it only once.
cache_timeout
Must be used together with "cache" parameter. If cache is enabled, and
this is not set, it will take the default value: 10.
Timeout value is in seconds.
identify¶
If called in a list context; returns an AoH filled with CPU metadata. If called
in a scalar context, returns the name of the CPU (if CPU is multi-core or
there are multiple CPUs, it'll also include the number of CPUs).
Returns "undef" upon failure.
speed¶
Returns the CPU clock speed in MHz if successful. Returns "undef"
otherwise.
count¶
Returns the number of CPUs (or number of total cores).
bitness¶
If successful, returns the bitness ( 32 or 64 ) of the CPU. Returns false
otherwise.
load [, LEVEL]¶
Returns the CPU load percentage if successful. Returns "undef"
otherwise.
The average CPU load average in the last minute. If you pass a level argument,
it'll return the related CPU load.
use Sys::Info::Constants qw( :device_cpu );
printf "CPU Load: %s\n", $cpu->load(DCPU_LOAD_LAST_01);
Load level constants:
LEVEL MEANING
----------------- -------------------------------
DCPU_LOAD_LAST_01 CPU Load in the last 1 minute
DCPU_LOAD_LAST_05 CPU Load in the last 5 minutes
DCPU_LOAD_LAST_10 CPU Load in the last 10 minutes
"LEVEL" defaults to "DCPU_LOAD_LAST_01".
Using this method under
Windows is not recommended since, the
"WMI" interface will possibly take at least 2 seconds to complete
the request.
hyper_threading¶
Returns the number of threads if hyper threading is supported, returns false
otherwise.
SEE ALSO¶
Sys::Info, Sys::Info::OS, Sys::Info::Device.
AUTHOR¶
Burak Gursoy <burak@cpan.org>.
COPYRIGHT¶
Copyright 2006 - 2013 Burak Gursoy. All rights reserved.
LICENSE¶
This library is free software; you can redistribute it and/or modify it under
the same terms as Perl itself, either Perl version 5.16.2 or, at your option,
any later version of Perl 5 you may have available.