How do you determine the amount of system memory?

Bill McGonigle bill at bfccomputing.com
Sun Aug 3 14:52:29 EDT 2008


On Aug 3, 2008, at 13:50, Ben Scott wrote:

>   Situation seems to be getting murkier by the minute.  :)

The difference in Memtotal?  This can at least be affected by shared  
RAM, etc.

I found a few (older) machines that needed -t 6 and some (newer)  
servers that needed -t 17.

Here's a quick script that seems to work on both types:

#-------- BEGIN realmem.pl -----------
#!/usr/bin/perl -w
use strict;
use warnings FATAL => 'all';

my $sudo = '/usr/bin/sudo';
my $dmidecode = '/usr/sbin/dmidecode';
my @types = (6,17);

my (%t, at size_lines);
foreach my $type (@types) {
     $t{$type} = `$sudo $dmidecode -t $type`;
     my @lines = split("\n",$t{$type});
     my @this_size_lines = grep(/Size:/, at lines);
     @this_size_lines = grep(!/Installed/, at this_size_lines);
     push(@size_lines, at this_size_lines);
}

my (@sizes);
foreach my $line (@size_lines) {
     $line =~ m/(\d*) (\w)B/;
     $1 *= 1024 if ($2 eq 'G'); # GB to MB
     push(@sizes,$1);
}

my $total_size = 0;
foreach my $size (@sizes) {
     $total_size += $size
}

my $prefix = 'M';
if ($total_size >= 1024) {
     $total_size = $total_size / 1024;
     $prefix = 'G';
}

print "Total Memory Size: $total_size $prefix" . 'B' . "\n";
#-------- END realmem.pl -----------

-Bill

-----
Bill McGonigle, Owner           Work: 603.448.4440
BFC Computing, LLC              Home: 603.448.1668
bill at bfccomputing.com		Cell: 603.252.2606
http://www.bfccomputing.com/    Page: 603.442.1833
Blog: http://blog.bfccomputing.com/
VCard: http://bfccomputing.com/vcard/bill.vcf



More information about the gnhlug-discuss mailing list