Total Ram in Bios not matching in system.

Nexxsys

n00b
Joined
Jun 15, 2013
Messages
21
Hi Folks,

been awhile since I have loomed around here. But would really like some expertise/assistance with a problem / issue I have with one of my systems:
System Specs:
CPU:
Ryzen 5 1600
Mainboard: Gigabyte GA-AB350 Gaming 3
RAM: Corsair LPX 16 GB 2400 Mhz DDR4
Video Card - 7300GT
HDD/SSD: Crucial - 120 GB SSD
OS: Ubuntu Server

Issue: I have 16 GB of DDR 4 RAM installed, can see that in the bios. However in the system (Ubuntu Server, Linux Mint, Proxmox) I can only see 7.7GB of memory.

What I have tried:
  1. Reseated the RAM
  2. Booting with a sinlge stick of ram in each memory slot to see if the ram was the issue or the slot was the issue
  3. Reseated the CPU
  4. Booted into a Linux Mint Live USB and did free -h
  5. lshw -c memory shows 16 GB but free -h, ubuntu, linux mint and proxmox still only show 7.7 GB
  6. cat /proc/meminfo shows only ~8GBs
    MemTotal: 8086184 kB
    MemFree: 6660220 kB
    MemAvailable: 6815084 kB
    I tried to install and boot another chip I had (3800x) but the AB350 wasn't accepting it (probably a bios version thing)
  7. Install 16 GB of DDR 4 @ 3200 Mhz from another sysetem with no change
Any thoughts on a possible cause - I think the mainboard my be the problem....but when I had the 1600 CPU in another board previously Windows showed all 16GB of RAM, but that was a different set of RAM. So I am second guessing myself as to the problem here. Could a CPU memory channel be fried and that is why the mainboard sees 16 but the OS only sees 8?
 
It may be a compatibility issue with the way the motherboard firmware is reporting the memory and the Linux kernel. According to a brief internet search, it seems to be a common problem on more modern versions of Linux.

If you haven't tried a BIOS update, I would do that first. Early Ryzen systems have a bunch of problems that were fixed in later BIOS releases. One bug that I hope you don't have is the dreaded segfault bug, something which affected a large number of 1st gen and some Zen+ parts.

The reason that the 3800x doesn't work is because you need a newer AGESA version, something which is provided in later firmware versions. Just be sure to read the release notes of the BIOS VERY carefully, because many board vendors have started dropping support for 1st gen Ryzen chips to make room for later 2nd and 3rd gen Ryzen chips due to insufficient space in the SPI ROM on the motherboard. You may have to go back a few versions to maintain support with your 1600. But hopefully one of those versions fixes your issue.

Something else that may be sapping memory as well is that Nvidia 7300GT, depending on how the drivers are working. That video card comes from an era of low budget cards that parasited system memory, a feature that Nvidia called "Turbo Cache" and AMD called "Hyper Memory". This allowed slimy video card vendors claim their cards had much more memory than they actually did, some claiming up to 2-4 GB, when the cards usually only had 256-512M. I don't know if the generic Linux drivers support the parasitic memory feature or not.
 
Thanks for the help. I upgraded the Bios and the 3800x chip worked and the memory 'reservation' went away in both Windows and Linux. I wasn't able to keep the board stable with the 3800x (nor always post) so I purchased a used b450 board and things are rocking now. Thanks
 
If you feel like doing further tests, there's yet another bug that affects Ryzen 3000 series CPUs. Some of them have buggy SMT, where thread states are corrupted at random, leading to a system crash.

I had a customer with a 3700X that would randomly lock up. It took me about a week to figure out that it had a bugged SMT, the CPU would work fine with SMT turned off.
 
Back
Top