@@ -5869,6 +5869,10 @@ sub _display_free_resources
5869
5869
5870
5870
# Always knock off some RAM for the host OS.
5871
5871
my $real_total_ram = $an->Readable->bytes_to_hr({'bytes' => $an->data->{resources}{total_ram} });
5872
+ $an->Log->entry({log_level => 3, message_key => "an_variables_0002", message_variables => {
5873
+ name1 => "resources::total_ram", value1 => $an->data->{resources}{total_ram},
5874
+ name2 => "real_total_ram", value2 => $real_total_ram,
5875
+ }, file => $THIS_FILE, line => __LINE__});
5872
5876
5873
5877
# Reserved RAM and BIOS memory holes rarely leave us with an even GiB of total RAM. So we modulous
5874
5878
# off the difference, then subtract that plus the reserved RAM to get an even left-over amount of
@@ -11492,7 +11496,7 @@ sub _parse_dmidecode
11492
11496
$an->Log->entry({log_level => 3, message_key => "an_variables_0003", message_variables => {
11493
11497
name1 => "resources::total_cores", value1 => $an->data->{resources}{total_cores},
11494
11498
name2 => "resources::total_threads", value2 => $an->data->{resources}{total_threads},
11495
- name3 => "resources::total_memory", value3 => $an->data->{resources}{total_ram},
11499
+ name3 => "resources::total_ram", value3 => $an->data->{resources}{total_ram},
11496
11500
}, file => $THIS_FILE, line => __LINE__});
11497
11501
11498
11502
foreach my $line (@{$data})
@@ -11667,7 +11671,7 @@ sub _parse_dmidecode
11667
11671
elsif ($line =~ /Form Factor: (.*)/) { $dimm_form_factor = $1; }
11668
11672
elsif ($line =~ /Size: (.*)/)
11669
11673
{
11670
- $dimm_size = $1 ;
11674
+ $dimm_size = lc($1) ;
11671
11675
$an->Log->entry({log_level => 3, message_key => "an_variables_0002", message_variables => {
11672
11676
name1 => "node_name", value1 => $node_name,
11673
11677
name2 => "dimm_size", value2 => $dimm_size,
@@ -11684,6 +11688,11 @@ sub _parse_dmidecode
11684
11688
}
11685
11689
else
11686
11690
{
11691
+ # The RAM is reported in 'MB', but it is actually 'MiB'.
11692
+ if ($dimm_size !~ /ib$/)
11693
+ {
11694
+ $dimm_size =~ s/b$/ib/;
11695
+ }
11687
11696
$dimm_size = $an->Readable->hr_to_bytes({size => $dimm_size });
11688
11697
$an->data->{node}{$node_name}{hardware}{total_memory} += $dimm_size;
11689
11698
$an->Log->entry({log_level => 3, message_key => "an_variables_0002", message_variables => {
@@ -12243,7 +12252,12 @@ sub _parse_meminfo
12243
12252
}, file => $THIS_FILE, line => __LINE__});
12244
12253
if ($line =~ /MemTotal:\s+(.*)/)
12245
12254
{
12246
- $an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} = $1;
12255
+ # This is reported in KiB, though it generally shows as 'kB'.
12256
+ $an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} = lc($1);
12257
+ if ($an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} !~ /ib$/)
12258
+ {
12259
+ $an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} =~ s/b$/ib/;
12260
+ }
12247
12261
$an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} = $an->Readable->hr_to_bytes({size => $an->data->{node}{$node_name}{hardware}{meminfo}{memtotal} });
12248
12262
$an->Log->entry({log_level => 3, message_key => "an_variables_0001", message_variables => {
12249
12263
name1 => "node::${node_name}::hardware::meminfo::memtotal", value1 => $an->data->{node}{$node_name}{hardware}{meminfo}{memtotal},
@@ -15554,7 +15568,7 @@ sub _verify_server_config
15554
15568
my $requested_ram = $an->Readable->hr_to_bytes({size => $an->data->{cgi}{ram}, type => $an->data->{cgi}{ram_suffix} });
15555
15569
my $diff = $an->data->{resources}{total_ram} % (1024 ** 3);
15556
15570
my $available_ram = $an->data->{resources}{total_ram} - $diff - $an->data->{sys}{unusable_ram};
15557
- $an->Log->entry({log_level => 2 , message_key => "an_variables_0002", message_variables => {
15571
+ $an->Log->entry({log_level => 3 , message_key => "an_variables_0002", message_variables => {
15558
15572
name1 => "requested_ram", value1 => $requested_ram,
15559
15573
name2 => "available_ram", value2 => $available_ram,
15560
15574
}, file => $THIS_FILE, line => __LINE__});
0 commit comments