blob: 204b2503524002bd0bf2e4623be1883411331580 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
|
########################################################
# 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:
|