Ubuntu 16.04 system monitor shows 3.2GB RAM installed when the machine actually has 8.0GB installed.  Memtest86 and the BIOS both show 8GB.  Memtest ran all pass combinations on the full 8GB and reported memory passed tests.  What could be causing this?  Details follow:I have read many of the similar questions in other groups and have double checked all of the solutions that I found, but nothing seems to pertain to the facts of my situation. Many of the cases I found remained open so I thought I'd ask the experts.My computer has 8GB of RAM installed and 64-bit Linux reports only 3.2GB available.I have a Core 2 Duo processor installed on an Intel DG965SS motherboard. The BIOS reports 8GB of RAM installed, and memtest86 reports 8GB of RAM and tests it as good. (Ran all the combinations over the entire 8GB.)  The memory is made up of four 2GB sticks, all from same manufacturer, same model, all purchased together.The specs for the board say that it has an 82G965 graphics and memory controller hub (gmch). The specs for the board and the hub state that they support 8GB of RAM, and indeed memtest86 sees all 8GB. So, I don't think the issue is hardware-related. Can anyone help me understand why the OS cannot see the same amount of memory that memtest86 can see?I have Ubuntu 16.04 64-bit installed. I've tested it with openSUSE leap (4.1.27-27-default x86_64 kernel) as well with the same results. I verified that the OSs were 64 bit using the uname -a command:$ uname -aLinux frank-desktop 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/LinuxI realize that the hardware is dated, but with the full memory available it will satisfy the application for this PC.I ran cat /proc/cpuinfo to verify the address width of the computer and it reported 36-bit physical and 48-bit virtual.Here is the output:$ cat /proc/cpuinfoprocessor   : 0vendor_id   : GenuineIntelcpu family  : 6model       : 15model name  : Intel(R) Core(TM)2 CPU          6400  @ 2.13GHzstepping    : 6microcode   : 0xd0cpu MHz     : 1596.000cache size  : 2048 KBphysical id : 0siblings    : 2core id     : 0cpu cores   : 2apicid      : 0initial apicid  : 0fpu     : yesfpu_exception   : yescpuid level : 10wp      : yesflags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dthermbugs        :bogomips    : 4262.44clflush size    : 64cache_alignment : 64address sizes   : 36 bits physical, 48 bits virtualpower management:processor   : 1vendor_id   : GenuineIntelcpu family  : 6model       : 15model name  : Intel(R) Core(TM)2 CPU          6400  @ 2.13GHzstepping    : 6microcode   : 0xd0cpu MHz     : 1596.000cache size  : 2048 KBphysical id : 0siblings    : 2core id     : 1cpu cores   : 2apicid      : 1initial apicid  : 1fpu     : yesfpu_exception   : yescpuid level : 10wp      : yesflags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow dthermbugs        :bogomips    : 4262.44clflush size    : 64cache_alignment : 64address sizes   : 36 bits physical, 48 bits virtualpower management:At bootup, dmesg gives the following:$ dmesg[    0.000000] microcode: CPU0 microcode updated early to revision 0xd0, date = 2010-09-30[    0.000000] Initializing cgroup subsys cpuset[    0.000000] Initializing cgroup subsys cpu[    0.000000] Initializing cgroup subsys cpuacct[    0.000000] Linux version 4.4.0-78-generic (buildd@lgw01-11) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4) ) #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 (Ubuntu 4.4.0-78.99-generic 4.4.62)[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-4.4.0-78-generic root=UUID=7994804a-c57b-45d7-9ed0-04b4764fcf0b ro quiet splash vt.handoff=7[    0.000000] KERNEL supported cpus:[    0.000000]   Intel GenuineIntel[    0.000000]   AMD AuthenticAMD[    0.000000]   Centaur CentaurHauls[    0.000000] x86/fpu: Legacy x87 FPU detected.[    0.000000] x86/fpu: Using 'lazy' FPU context switches.[    0.000000] e820: BIOS-provided physical RAM map:[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000008efff] usable[    0.000000] BIOS-e820: [mem 0x000000000008f000-0x000000000009ffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000000e0000-0x00000000000fffff] reserved[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000cf560fff] usable[    0.000000] BIOS-e820: [mem 0x00000000cf561000-0x00000000cf56dfff] reserved[    0.000000] BIOS-e820: [mem 0x00000000cf56e000-0x00000000cf61bfff] usable[    0.000000] BIOS-e820: [mem 0x00000000cf61c000-0x00000000cf6e8fff] ACPI NVS[    0.000000] BIOS-e820: [mem 0x00000000cf6e9000-0x00000000cf6ecfff] usable[    0.000000] BIOS-e820: [mem 0x00000000cf6ed000-0x00000000cf6f1fff] ACPI data[    0.000000] BIOS-e820: [mem 0x00000000cf6f2000-0x00000000cf6f2fff] usable[    0.000000] BIOS-e820: [mem 0x00000000cf6f3000-0x00000000cf6fefff] ACPI data[    0.000000] BIOS-e820: [mem 0x00000000cf6ff000-0x00000000cf6fffff] usable[    0.000000] BIOS-e820: [mem 0x00000000cf700000-0x00000000cfffffff] reserved[    0.000000] BIOS-e820: [mem 0x00000000fff00000-0x00000000ffffffff] reserved[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000022bffffff] usable[    0.000000] NX (Execute Disable) protection: active[    0.000000] SMBIOS 2.4 present.[    0.000000] DMI:                  /DG965SS, BIOS MQ96510J.86A.1687.2007.0510.0258 05/10/2007[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved[    0.000000] e820: remove [mem 0x000a0000-0x000fffff] usable[    0.000000] e820: last_pfn = 0x22c000 max_arch_pfn = 0x400000000[    0.000000] MTRR default type: uncachable[    0.000000] MTRR fixed ranges enabled:[    0.000000]   00000-9FFFF write-back[    0.000000]   A0000-FFFFF uncachable[    0.000000] MTRR variable ranges enabled:[    0.000000]   0 base 000000000 mask F80000000 write-back[    0.000000]   1 base 080000000 mask FC0000000 write-back[    0.000000]   2 base 0C0000000 mask FF0000000 write-back[    0.000000]   3 base 0CF800000 mask FFF800000 uncachable[    0.000000]   4 base 0CF700000 mask FFFF00000 uncachable[    0.000000]   5 disabled[    0.000000]   6 disabled[    0.000000]   7 disabled[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- WT  [    0.000000] original variable MTRRs[    0.000000] reg 0, base: 0GB, range: 2GB, type WB[    0.000000] reg 1, base: 2GB, range: 1GB, type WB[    0.000000] reg 2, base: 3GB, range: 256MB, type WB[    0.000000] reg 3, base: 3320MB, range: 8MB, type UC[    0.000000] reg 4, base: 3319MB, range: 1MB, type UC[    0.000000] total RAM covered: 3319M[    0.000000] Found optimal setting for mtrr clean up[    0.000000]  gran_size: 64K  chunk_size: 16M     num_reg: 5      lose cover RAM: 0G[    0.000000] New variable MTRRs[    0.000000] reg 0, base: 0GB, range: 2GB, type WB[    0.000000] reg 1, base: 2GB, range: 1GB, type WB[    0.000000] reg 2, base: 3GB, range: 256MB, type WB[    0.000000] reg 3, base: 3319MB, range: 1MB, type UC[    0.000000] reg 4, base: 3320MB, range: 8MB, type UC[    0.000000] e820: update [mem 0xcf700000-0x22bffffff] usable ==> reserved[    0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 4800MB of RAM.[    0.000000] update e820 for mtrr[    0.000000] e820: modified physical RAM map:[    0.000000] modified: [mem 0x0000000000000000-0x0000000000000fff] reserved[    0.000000] modified: [mem 0x0000000000001000-0x000000000008efff] usable[    0.000000] modified: [mem 0x000000000008f000-0x000000000009ffff] reserved[    0.000000] modified: [mem 0x00000000000e0000-0x00000000000fffff] reserved[    0.000000] modified: [mem 0x0000000000100000-0x00000000cf560fff] usable[    0.000000] modified: [mem 0x00000000cf561000-0x00000000cf56dfff] reserved[    0.000000] modified: [mem 0x00000000cf56e000-0x00000000cf61bfff] usable[    0.000000] modified: [mem 0x00000000cf61c000-0x00000000cf6e8fff] ACPI NVS[    0.000000] modified: [mem 0x00000000cf6e9000-0x00000000cf6ecfff] usable[    0.000000] modified: [mem 0x00000000cf6ed000-0x00000000cf6f1fff] ACPI data[    0.000000] modified: [mem 0x00000000cf6f2000-0x00000000cf6f2fff] usable[    0.000000] modified: [mem 0x00000000cf6f3000-0x00000000cf6fefff] ACPI data[    0.000000] modified: [mem 0x00000000cf6ff000-0x00000000cf6fffff] usable[    0.000000] modified: [mem 0x00000000cf700000-0x00000000cfffffff] reserved[    0.000000] modified: [mem 0x00000000fff00000-0x000000022bffffff] reserved[    0.000000] e820: last_pfn = 0xcf700 max_arch_pfn = 0x400000000[    0.000000] found SMP MP-table at [mem 0x000fe200-0x000fe20f] mapped at [ffff8800000fe200][    0.000000] Scanning 1 areas for low memory corruption[    0.000000] Base memory trampoline at [ffff880000089000] 89000 size 24576[    0.000000] BRK [0x0220b000, 0x0220bfff] PGTABLE[    0.000000] BRK [0x0220c000, 0x0220cfff] PGTABLE[    0.000000] BRK [0x0220d000, 0x0220dfff] PGTABLE[    0.000000] BRK [0x0220e000, 0x0220efff] PGTABLE[    0.000000] BRK [0x0220f000, 0x0220ffff] PGTABLE[    0.000000] BRK [0x02210000, 0x02210fff] PGTABLE[    0.000000] RAMDISK: [mem 0x337f0000-0x35beffff][    0.000000] ACPI: Early table checksum verification disabled[    0.000000] ACPI: RSDP 0x00000000000FE020 000014 (v00 INTEL )[    0.000000] ACPI: RSDT 0x00000000CF6FD038 00004C (v01 INTEL  DG965SS  00000697      01000013)[    0.000000] ACPI: FACP 0x00000000CF6FC000 000074 (v01 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: DSDT 0x00000000CF6F7000 0040ED (v01 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: FACS 0x00000000CF6A0000 000040[    0.000000] ACPI: APIC 0x00000000CF6F6000 000078 (v01 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: WDDT 0x00000000CF6F5000 000040 (v01 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: MCFG 0x00000000CF6F4000 00003C (v01 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: ASF! 0x00000000CF6F3000 0000A6 (v32 INTEL  DG965SS  00000697 MSFT 01000013)[    0.000000] ACPI: SSDT 0x00000000CF6F1000 0001BC (v01 INTEL  CpuPm    00000697 MSFT 01000013)[    0.000000] ACPI: SSDT 0x00000000CF6F0000 000175 (v01 INTEL  Cpu0Ist  00000697 MSFT 01000013)[    0.000000] ACPI: SSDT 0x00000000CF6EF000 000175 (v01 INTEL  Cpu1Ist  00000697 MSFT 01000013)[    0.000000] ACPI: SSDT 0x00000000CF6EE000 000175 (v01 INTEL  Cpu2Ist  00000697 MSFT 01000013)Cut here for length limit...I see the line stating[    0.000000] WARNING: BIOS bug: CPU MTRRs don't cover all of memory, losing 4800MB of RAM.but cannot understand how memtest86 could test and pass 8GB if it were not addressable by the BIOS?  What would cause this discrepancy?
Linux reporting of available ram is half of installed amount
linux;linux kernel