
##########################################################################
# $Id: zz-sys 185 2014-02-02 12:27:49Z stefjakobs $
##########################################################################
# $Log: zz-sys,v $
# Revision 1.3  2008/06/30 23:07:51  kirk
# fixed copyright holders for files where I know who they should be
#
# Revision 1.2  2008/03/24 23:31:27  kirk
# added copyright/license notice to each script
#
# Revision 1.1  2006/02/19 23:12:50  bjorn
# Get configuration info from system, based on script by Laurent Dufour.
#
##########################################################################

# This script prints out information about the CPU(s) and physical memory.
# It obtains the information from the Sys::CPU and Sys::MemInfo perl modules,
# so these must be installed.

# Note that the number of CPUs is not the number of physical CPU chips;
# CPUs with Hyperthreading or multiple cores affect the number of CPUs
# displayed.

#######################################################
## Copyright (c) 2008 Laurent Dufour
## Covered under the included MIT/X-Consortium License:
##    http://www.opensource.org/licenses/mit-license.php
## All modifications and contributions by other persons to
## this script are assumed to have been donated to the
## Logwatch project and thus assume the above copyright
## and licensing terms.  If you want to make contributions
## under your own copyright or a different license this
## must be explicitly stated in the contribution an the
## Logwatch project reserves the right to not accept such
## contributions.  If you have made significant
## contributions to this script and want to claim
## copyright please contact logwatch-devel@lists.sourceforge.net.
#########################################################

eval "require Sys::CPU";
if ($@) {
   print STDERR "No Sys::CPU module installed.  To install, execute the command:\n";
   print STDERR "   perl -MCPAN -e 'install Sys::CPU' \n\n";
} else {
   import Sys::CPU;
   print "   CPU:     " . Sys::CPU::cpu_count() . " " . Sys::CPU::cpu_type() . " at " . Sys::CPU::cpu_clock() . "MHz\n";
}

use POSIX qw(uname);
my ($OSname, $hostname, $release, $version, $machine) = POSIX::uname();
print "   Machine: $machine\n";
my $OStitle;
$OStitle = $OSname;
$OStitle = "Solaris" if ($OSname eq "SunOS" && $release >= 2);
print "   Release: $OStitle $release\n";

eval "require Sys::MemInfo";
if ($@) {
   print STDERR "No Sys::MemInfo module installed.  To install, execute the command:\n";
   print STDERR "   perl -MCPAN -e 'install Sys::MemInfo' \n\n";
} else {
   import Sys::MemInfo qw(totalmem freemem totalswap freeswap);
   my $swapused = &totalswap - &freeswap;
   printf "   Total Memory:  %6d MB\n", ((&totalmem - (&totalmem % (1024*1024))) / (1024*1024));
   printf "   Free Memory:   %6d MB\n", ((&freemem - (&freemem % (1024*1024))) / (1024*1024));
   printf "   Swap Used:     %6d MB\n", (($swapused - ($swapused % (1024*1024))) / (1024*1024));
}

# vi: shiftwidth=3 tabstop=3 syntax=perl et
# Local Variables:
# mode: perl
# perl-indent-level: 3
# indent-tabs-mode: nil
# End:
