Bios shows all 8gb RAM, Debian only sees 4gb?

bios shows 8gb, which is what’s in the machine, 4x2 sticks, but booted up it’s only showing 4gb… It was fine up until yesterday, and by reseating it I got it to show up, but after a reboot it went back to 4gb. now I reseated it and it’s not showing. any clues?

oh, it’s a core2 quad system, p45/ich10 chipset I believe. non ecc memory. Runs fine with 4gb and oddly enough uses less system ram overall. that’s confusing too.

It would be helpful to know which system you are running, and more specifically, which architecture. My initial guess is that you may be running Debian 32bit, in which case, it may be an issue with PAE, as 32bit systems don’t natively support more than 4GB of RAM. 32bit systems also tend to use less memory than 64bit systems.

Debian x86_64 Linux 4.19.0-9-amd64

let’s see those kernel message logs.

dmesg

1 Like

run a memory test.

BIOS will merely detect presence, Linux is a bit more picky about RAM actually working properly.

the fact that re-seating it made it work again briefly for a bit indicates to me that its either a slot or a module problem.

i.e., hardware issue.

Being a core 2, that’s DDR2 you’re talking about, which is getting on in years…

MAYBE if you have some electronic contact cleaner, give the module and the slot a wipe down?

2 Likes

:~$ sudo dmesg | grep -i memory
[ 0.025587] Early memory node ranges
[ 0.046936] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[ 0.046937] PM: Registered nosave memory: [mem 0x0009e000-0x000fffff]
[ 0.203549] Memory: 3505100K/3635444K available (10252K kernel code, 1241K rwdata, 3316K rodata, 1588K init, 2276K bss, 130344K reserved, 0K cma-reserved)
[ 0.249779] Freeing SMP alternatives memory: 24K
[ 0.371685] x86/mm: Memory block size: 128MB
[ 1.178514] Freeing initrd memory: 47476K
[ 1.617271] Freeing unused kernel image memory: 1588K
[ 1.632038] Freeing unused kernel image memory: 2028K
[ 1.632268] Freeing unused kernel image memory: 780K
[ 2.166830] [TTM] Zone kernel: Available graphics memory: 1778498 kiB

Yeah, looks like Linux is rejecting a module for some reason.

Like Thro said, run a memtest.

Memtester was fine… this is confusing me more and more.

$ free
total used free shared buff/cache available
Mem: 3556996 395380 2319284 12484 842332 2955936
Swap: 8393072 0 8393072

$ sudo lshw | grep -m 1 -A 46 “*-memory”
*-memory
description: System Memory
physical id: 19
slot: System board or motherboard
size: 8GiB
*-bank:0
description: DIMM 800 MHz (1.2 ns)
physical id: 0
slot: A0
size: 2GiB
width: 64 bits
clock: 800MHz (1.2ns)
*-bank:1
description: DIMM 800 MHz (1.2 ns)
physical id: 1
slot: A1
size: 2GiB
width: 64 bits
clock: 800MHz (1.2ns)
*-bank:2
description: DIMM 800 MHz (1.2 ns)
physical id: 2
slot: A2
size: 2GiB
width: 64 bits
clock: 800MHz (1.2ns)
*-bank:3
description: DIMM 800 MHz (1.2 ns)
physical id: 3
slot: A3
size: 2GiB
width: 64 bits
clock: 800MHz (1.2ns)

@wendell you ever seen this?


Everything appears to be in order here. :confused: Not sure what to say.

This is a common problem and typically almost always a situation where the bios can see the eeprom on the spi but cannot initialize the dimm. So the uefi is disabling it. Swapping which ram is in what socket might fix it.

Upping memory voltage to 1.35 might fix it.

1 Like

That is so oddly specific

1 Like

DRAM voltage is 1.8 on ddr2. I upped it to 1.840 and it didn’t work…
Over it for now, thanks folks.

1 Like

IF you’re not comfortable with raising voltage further, could also maybe try lowering memory speed, if you’re running an XMP profile, try setting it to something slower.

It could be that the system can’t support all 4 slots at the full speed. Maybe even drop all the way down to DDR2-400 as a baseline and then if that works ramp up from there.

If as @wendell implied, it isn’t initialising the RAM (BIOS sees it as present, but it won’t init) then your memory test may have passed but only seeing/testing 4GB? Something to check - did the memory test complete successfully on 4, or 8 GB?

I.e., the test isn’t failing because the modules are not even initialising to the point where they can be tested…

edit:
also, 1.9v or 1.8v was “standard” for ddr2. maybe try pushing up to 1.9v, perhaps with all 4 modules, 1.8v (and even 1.84v) is borderline and not enough to init/reliably run all 4 slots.

1 Like

Had a similar problem on one older system… Using the clear CMOS dip switch fixed it. BIOS/Firmware update might be a good idea. Or yours might be a completely diferent problem.

Try dmidecode That will tell you what it sees in each slot.

Any chance the two modules are different speeds?

1 Like

So I found 2 sticks of almost identical micron/crucial ram. I swapped it in every imaginable configuration including only 2 sticks and got the exact same results. bios sees all installed memory regardless of slot, and debian knows there is 8gb installed, but it’s still only using 4gb. Right now I’m booted into an opensuse usb drive and running memory check. it sees all 8gb in the test and at 51% completion, no errors.

Going to boot to a live environment next and see what it says. I’m starting to think something is just funky with my debian install, which will make me extremely sad, because I finally got this bucket of bolts set up how I wanted it and was ready to hide it in a closet to forget about for 6 months until I upgrade it. Will update.

Lots of live CDs out there, so you can try different distros / kernel versions easily. Boot-up with SysRescueCD and see if it has the correct amount of RAM available.

Linux also has a mem= option, so in grub you can put mem=8192M or similar… At least it’s worth a try. If it actually works, you need to figure out the proper values for memmap= as well.

https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html

1 Like

Have you tried Thro’s recommendation of cranking the memory voltage up to 1.9v?

You could try 1.84/1.86v if you’d like, but I’m not confident that’s enough.

I pushed it to 1.96, nada

1 Like

:frowning: oh

Wish I knew what to tell you, but I’m thoroughly out of my element here.

1 Like