logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Unix::Processors - Interface to processor (CPU) information

Authors

       Wilson Snyder <wsnyder@wsnyder.org>

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.

Name

       Unix::Processors - Interface to processor (CPU) information

See Also

       Unix::Processors::Info, Sys::Sysconf

perl v5.40.0                                       2024-10-20                                    Processors(3pm)

Synopsis

         use Unix::Processors;

         my $procs = new Unix::Processors;
         print "There are ", $procs->max_online, " CPUs at ", $procs->max_clock, "\n";
         if ($procs->max_online != $procs->max_physical) {
             print "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);
         }

See Also