######################################################## # Please file all bug reports, patches, and feature # requests under: # https://sourceforge.net/p/logwatch/_list/tickets # Help requests and discusion can be filed under: # https://sourceforge.net/p/logwatch/discussion/ ######################################################## ######################################################## # 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::Info::Base"; if ($@) { print STDERR "No Sys::Info::Base module installed. To install, execute the command:\n"; print STDERR " perl -MCPAN -e 'install Sys::Info::Base' \n\n"; } else { use Sys::Info; my $info = Sys::Info->new; my $cpu = $info->device( CPU => %options ); print " CPU: " . $cpu->identify . "\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: