I have 2 modules of RAM of 16 GB each. My Fedora thinks I have 33.5 GB of RAM

I have a laptop running Fedora 34 Workstation.

Originally I had one module of RAM of 16 GB and one slot empty. I bought another 16GB RAM module of the same frequency and I myself manually mounted it.

The output of dmidecode is now as follows:

dmidecode output
$ sudo dmidecode --type memory
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.0.1 present.

Handle 0x000E, DMI type 16, 23 bytes
Physical Memory Array
	Location: System Board Or Motherboard
	Use: System Memory
	Error Correction Type: None
	Maximum Capacity: 32 GB
	Error Information Handle: No Error
	Number Of Devices: 2

Handle 0x000F, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x000E
	Error Information Handle: No Error
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 16 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelA-DIMM0
	Bank Locator: BANK 0
	Type: DDR4
	Type Detail: Synchronous
	Speed: 2667 MT/s
	Manufacturer: Kingston
	Serial Number: 2D178A3E
	Asset Tag: 9876543210
	Part Number: ACR26D4S9D8ME-16    
	Rank: 2
	Configured Memory Speed: 2667 MT/s
	Minimum Voltage: 1.25 V
	Maximum Voltage: 1.35 V
	Configured Voltage: 1.2 V

Handle 0x0010, DMI type 17, 40 bytes
Memory Device
	Array Handle: 0x000E
	Error Information Handle: No Error
	Total Width: 64 bits
	Data Width: 64 bits
	Size: 16 GB
	Form Factor: SODIMM
	Set: None
	Locator: ChannelB-DIMM0
	Bank Locator: BANK 2
	Type: DDR4
	Type Detail: Synchronous
	Speed: 2667 MT/s
	Manufacturer: 859B
	Serial Number: E53F8645
	Asset Tag: 9876543210
	Part Number: CT16G4SFRA266.M16FRS
	Rank: 2
	Configured Memory Speed: 2667 MT/s
	Minimum Voltage: 1.25 V
	Maximum Voltage: 1.35 V
	Configured Voltage: 1.2 V

The problem is that the application “System Monitor” thinks I have 33.5GB of RAM, as can be seen in the following screenshot:
image
Since I have 2 modules of 16GB each, how did I end up with 33.5 GB of RAM?

Is it a laptop or a device with an APU?

It may be that some of the memory is being reserved for the GPU/APU.

Yeah, the difference is in powers of 10 vs powers of 2.
Powers of 10 is easy, since 10^3 is 1000 (KB), 10^6 is 1000,000 (MB), etc
Powers of 2 are not so easy, with 1000 MB = 1 GB = 0.953 GiB
so 32 GB ram is actually 29.8 GiB and 32 GiB is 34.36 GB.

I think what you are seeing is a variance in calculation dependent upon how the app actually displays the value.

It also has to do with marketing, since HDDs and SSDs are marketed using the GB and TB values while the system often displays the GiB & TiB values. On my system I have 4 3TB drives, but the system shows them as TiB so I have total 10.9 TiB instead of the marketed 12 TB and the difference in units confuses people even though the value is the same.

I just read this more carefully and realized my earlier response was thinking about this in reverse. Your question here is why is system monitor reporting more ram, not less.

Is system monitor including your swap?

@ vgaetera @dalto Yes my Fedora shows more RAM than it should. As shown by dmidecode, I have 2 modules of 16 GB each, so it should be 32 GB.

Instead system monitor report 33.5 GB.

It doesn’t say GiB. It says GB.

@dalto No the swap is in another panel. As shown by the following screenshot:

image

Hope this helps…
1024 x 1024 x 1024 x 1024 x 16 = 17592186044416 ~= (approx)17.6GB
1024 x 1024 x 1024 x 1024 x 32 = 35184372088832 ~= (approx)35.2GB
~(approx)35.2GB - ~(approx)1.7GB = ~(approx)33.5GB
~(approx)17.6GB - ~(approx)1.7GB = ~(approx)15.9GB
let’s say you have something occupying/reserving ~(approx)1.7GB in RAM

Both of your RAM modules are 16GiB.

32GiB = 32x1024 MiB = 32x1024x1024 KiB
= 32x1024x1024/1000 MB = 32x1024x1024/1000/1000 GB
= 33.554 GB

My RAM in GiB is also shown as GB in dmidecode, I don’t know all the details on how dmidecode works but as it’s just dumping DMI/SMBIOS in a human-readable format so I guess it’s just a decision they made to show everything as GB. (As initially 1GB was 1024KB but some manufactors tries to gain that slight profit by using 1GB=1000KB and causing this mess of GiB and GB)

Many programs do still use GB as GiB. one commonly used is htop.

That might explain it. Thanks @leekaize !