NAME
Unix::Processors - Interface to processor (CPU) information
SYNOPSIS
use
Unix::Processors;
my
$procs
= new Unix::Processors;
"There are "
,
$procs
->max_online,
" CPUs at "
,
$procs
->max_clock,
"\n"
;
if
(
$procs
->max_online !=
$procs
->max_physical) {
"Hyperthreading between "
,
$procs
->max_physical,
" physical CPUs.\n"
;
}
(
my
$FORMAT
=
"%2s %-8s %4s \n"
) =~ s/\s\s+/ /g;
printf
(
$FORMAT
,
"#"
,
"STATE"
,
"CLOCK"
,
"TYPE"
, );
foreach
my
$proc
(@{
$procs
->processors}) {
printf
(
$FORMAT
,
$proc
->id,
$proc
->state,
$proc
->clock,
$proc
->type);
}
DESCRIPTION
This package provides accessors to per-processor (CPU) information. The object is obtained with the Unix::Processors::processors call. the operating system in a OS independent manner.
- max_online
-
Return number of threading processors currently online. On hyperthreaded Linux systems, this indicates the maximum number of simultaneous threads that may execute; see max_physical for the real physical CPU count.
- max_physical
-
Return number of physical processor cores currently online. For example, a single chip quad-core processor returns four.
- max_socket
-
Returns the number of populated CPU sockets, if known, else the same number as max_physical. For example, a single chip quad-core processor returns one.
- max_clock
-
Return the maximum clock speed across all online processors. Not all OSes support this call.
- processors
-
Return an array of processor references. See the Unix::Processors::Info manual page. Not all OSes support this call.
DISTRIBUTION
The latest version is available from CPAN and from http://www.veripool.org/.
Copyright 1999-2017 by Wilson Snyder. This package is free software; you you can redistribute it and/or modify it under the terms of either the GNU Lesser General Public License Version 3 or the Perl Artistic License Version 2.0.
AUTHORS
Wilson Snyder <wsnyder@wsnyder.org>