I have 64 GB of RAM, specifically this model (I think): https://www.gskill.com/specification/165/396/1731653269/F5-6000J2836G32GX2-FX5-Specification fortunately purchased just before RAM prices went insane.
Last night, I ran memtest86+ and noticed it showed I have "61.6GB" of RAM. This is 2.4 GB less than the stated 64 GB. I know that storage sizes are specified in GB (1000³B) instead of GiB (1024³B), so it wouldn't have shocked me if RAM is the same, but this actually doesn't explain it: 64 GB makes 59.6 GiB, so if that was it then I got 2 GiB extra, which makes no sense.
To be clear, I'm not complaining and there's no issue to fix, I just want to understand where the numbers are coming from.
My friend has 96 gigs of RAM, and for him Windows reports 93.6 GB, which is also 2.4 GB less than stated, same as me! So it seems more likely right now that RAM is actually measured and marketed in GiBs, and the same effect is causing both of us to "lose" 2.4 GB. But what effect is it?
It gets weirder.
In the FAQ of memtest, there's this:
Why is Memtest86+ testing more memory than I have?
It doesn't. The memory on a modern computer is not necessarily mapped in a linear way. E.g.: 16GB of RAM can be virtually mapped from 0-15GB and 16-17GB with a hole between 15GB and 16GB.
Which I thought might be related, so to get to the bottom of it I tracked which regions of memory it tests. This is what it showed:
- 4MB - 1GB (1020MB)
- 1GB - 2GB (1GB)
- 2GB - 2.4GB (416 MB)
- 4GB - 5GB (1GB)
- 5GB - 6GB (1GB)
- ... more 1GB regions with no gaps ...
- 62GB - 63GB (1GB)
- 63GB - 63.4GB (478MB)
Summing them all up gives a total of 60GiB + 1914MiB = 61GiB + 890MiB = 61.87GiB if my math is right, so it doesn't even match the 61.6 figure it reports!
... What's going on? WHERE ARE THE NUMBERS COMING FROM?!
If there's a better community for this, let me know and I'll cross-post it there.
Maybe it's not counting memory that can't be tested because it's needed for the kernel and device drivers. For example according to its man page
freereports total memory "minus a few reserved bits and kernel binary code" and on my desktop here that's about 15.2 out of 16GB.I don't know though, most of a gigabyte does seem like a suspiciously large amount of memory for that, never mind 2.4 gigs. I guess it's i/o buffers, page tables, and things like that.
There is no kernel and no device drivers, MemTest86+ runs on bare metal and it moves itself around to test all memory, so it uses virtually no memory and should show all available memory.