UPDATED with mobo/cpu and some BIOS info
my first post/question in here.
i've been reading other related posts and can't seem to find the answer, so my apologies if this seems to be a double or triple post of the same issue.
i have 4GB of RAM; 4 identical 1GB sticks.
i am on a Dell Vostro 200 (non-slim) with a nvidia 1GB 9500GT gfx card.
i installed ubuntu 11.04 32-bit and found that my RAM was reported as 3.1GB.
after upgrading to 12.04 32-bit, it still said i had 3.1GB.
after doing a bit of reading i installed the PAE and restarted, after which 3.1GB was still being reported.
i've run my hackintosh and Win7 on this same machine in 64-bit (among other OS which all reported 4GB RAM) so i decided to do a fresh install of 12.04 64-bit to see if that helped.
now the RAM is being detected as 2.9GB.
from what i understand it is unnecessary to install PAE in 12.04 because the kernel uses it by default.
i found a similar article in here regarding the clock speeds of the memory, but all 4 of mine are 667mhz, so i believe they shouldn't be conflicting.
i've also read about memswap settings in the bios, which i haven't been able to find or at least identify.
is there any way to "help" ubuntu detect/use that last 1GB of RAM? is it worth the hunt or should i be happy with what i've got?
any help would be greatly appreciated.
cheers
INFO
BIOS revision 1.0.5
BIOS Advanced Chipset Features:
- Video Mem Size: 1MB | 8MB
- DVMT Mode: FIXED | DVMT
- DVMT/FIXED Mem Size: 128MB | 256MB | MAX
output of uname -a:
Linux personguy-Vostro-200 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
output of free -m:
total used free shared buffers cached
Mem: 3009 2773 236 0 197 1735
-/+ buffers/cache: 840 2169
Swap: 141 0 140
relevant sections of lshw:
description: Desktop Computer
product: Vostro 200 ()
vendor: Winbond Electronics
version: OEM
serial: 17BKC3J
width: 64 bits
capabilities: smbios-2.5 dmi-2.5 vsyscall32
configuration: boot=normal chassis=desktop uuid=44454C4C-3700-1042-804B-B1C04F43334A
*-core
description: Motherboard
product: 0CU409
vendor: Winbond Electronics
physical id: 0
version: ���
serial: ..CN7360478N02PU.
*-firmware
description: BIOS
vendor: Winbond Electronics
physical id: 0
version: 1.0.5
date: 09/14/2007
size: 128KiB
capacity: 1984KiB
capabilities: isa pci pnp apm upgrade shadowing cdboot bootselect socketedrom edd int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer int10video acpi usb ls120boot zipboot biosbootspecification netboot
*-cpu
description: CPU
product: Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz
vendor: Intel Corp.
physical id: 4
bus info: cpu@0
version: Intel(R) Core(TM)2 Duo CPU E4500 @ 2.20GHz
slot: Socket 775
size: 1200MHz
capacity: 4GHz
width: 64 bits
clock: 200MHz
capabilities: x86-64 fpu fpu_exception wp 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 constant_tsc arch_perfmon pebs bts rep_good nopl aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm cpufreq
configuration: cores=2 enabledcores=2 threads=2
~~~~~~~~~~~~~
*-bank:0
description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
product: 16HTF12864AY-667B3
vendor: Micron Technology
physical id: 0
serial: E9014B5F
slot: DIMM1
size: 1GiB
width: 64 bits
clock: 667MHz (1.5ns)
*-bank:1
description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
product: 16HTF12864AY-667B3
vendor: Micron Technology
physical id: 1
serial: E9014B70
slot: DIMM2
size: 1GiB
width: 64 bits
clock: 667MHz (1.5ns)
*-bank:2
description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
product: 16HTF12864AY-667B3
vendor: Micron Technology
physical id: 2
serial: E9014B76
slot: DIMM3
size: 1GiB
width: 64 bits
clock: 667MHz (1.5ns)
*-bank:3
description: DIMM DDR2 Synchronous 667 MHz (1.5 ns)
product: 16HTF12864AY-667B3
vendor: Micron Technology
physical id: 3
serial: E8013762
slot: DIMM4
size: 1GiB
width: 64 bits
clock: 667MHz (1.5ns)
e820 section of dmesg:
[ 0.000000] BIOS-provided physical RAM map:
[ 0.000000] BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
[ 0.000000] BIOS-e820: 000000000009e800 - 00000000000a0000 (reserved)
[ 0.000000] BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
[ 0.000000] BIOS-e820: 0000000000100000 - 00000000bfe90000 (usable)
[ 0.000000] BIOS-e820: 00000000bfe90000 - 00000000bfee3000 (ACPI NVS)
[ 0.000000] BIOS-e820: 00000000bfee3000 - 00000000bfef0000 (ACPI data)
[ 0.000000] BIOS-e820: 00000000bfef0000 - 00000000bff00000 (reserved)
[ 0.000000] BIOS-e820: 00000000e0000000 - 00000000f0000000 (reserved)
[ 0.000000] BIOS-e820: 00000000fec00000 - 0000000100000000 (reserved)
[ 0.000000] NX (Execute Disable) protection: active
[ 0.000000] DMI 2.5 present.
[ 0.000000] DMI: Dell Inc. Vostro 200/0CU409, BIOS 1.0.5 09/14/2007
[ 0.000000] e820 update range: 0000000000000000 - 0000000000010000 (usable) ==> (reserved)
[ 0.000000] e820 remove range: 00000000000a0000 - 0000000000100000 (usable)
Best Answer
It is a bug in your motherboard/bios. If you check the output of
dmesg
and look for the bios e820 map, you can see exactly what memory the bios is reporting your system has. Typically the memory addresses between 3.2 GB and 4.0 GB is reserved for addressing hardware, such as video memory. A proper motherboard will move that ram to higher addresses above 4.0 GB so it can still be used ( by a 64 bit or pae enabled kernel ). Some don't, leaving that chunk of ram unusable.