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:
Since I have 2 modules of 16GB each, how did I end up with 33.5 GB of RAM?
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.
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
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.