this post was submitted on 14 May 2026
2 points (100.0% liked)

No Stupid Questions

48137 readers
1153 users here now

No such thing. Ask away!

!nostupidquestions is a community dedicated to being helpful and answering each others' questions on various topics.

The rules for posting and commenting, besides the rules defined here for lemmy.world, are as follows:

Rules (interactive)


Rule 1- All posts must be legitimate questions. All post titles must include a question.

All posts must be legitimate questions, and all post titles must include a question. Questions that are joke or trolling questions, memes, song lyrics as title, etc. are not allowed here. See Rule 6 for all exceptions.



Rule 2- Your question subject cannot be illegal or NSFW material.

Your question subject cannot be illegal or NSFW material. You will be warned first, banned second.



Rule 3- Do not seek mental, medical and professional help here.

Do not seek mental, medical and professional help here. Breaking this rule will not get you or your post removed, but it will put you at risk, and possibly in danger.



Rule 4- No self promotion or upvote-farming of any kind.

That's it.



Rule 5- No baiting or sealioning or promoting an agenda.

Questions which, instead of being of an innocuous nature, are specifically intended (based on reports and in the opinion of our crack moderation team) to bait users into ideological wars on charged political topics will be removed and the authors warned - or banned - depending on severity.



Rule 6- Regarding META posts and joke questions.

Provided it is about the community itself, you may post non-question posts using the [META] tag on your post title.

On fridays, you are allowed to post meme and troll questions, on the condition that it's in text format only, and conforms with our other rules. These posts MUST include the [NSQ Friday] tag in their title.

If you post a serious question on friday and are looking only for legitimate answers, then please include the [Serious] tag on your post. Irrelevant replies will then be removed by moderators.



Rule 7- You can't intentionally annoy, mock, or harass other members.

If you intentionally annoy, mock, harass, or discriminate against any individual member, you will be removed.

Likewise, if you are a member, sympathiser or a resemblant of a movement that is known to largely hate, mock, discriminate against, and/or want to take lives of a group of people, and you were provably vocal about your hate, then you will be banned on sight.



Rule 8- All comments should try to stay relevant to their parent content.



Rule 9- Reposts from other platforms are not allowed.

Let everyone have their own content.



Rule 10- Majority of bots aren't allowed to participate here. This includes using AI responses and summaries.



Credits

Our breathtaking icon was bestowed upon us by @Cevilia!

The greatest banner of all time: by @TheOneWithTheHair!

founded 2 years ago
MODERATORS
 

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.

top 17 comments
sorted by: hot top controversial new old
[–] solomonschuler@lemmy.zip 1 points 1 day ago

electrical engineer here

if you're familiar with memory allocations like in C or C++, you would know that before allocating memory on the heap, there is some memory used by the OS that is strictly inaccessible to the languages. taking that operation and abstracting it to the hardware level, before giving the rest of the unallocated memory to the OS, specific system processes and hardware reservations use some of that memory. When a resource monitor (like btop or htop) reports memory, it only reports memory within scope of the memory allocation inside the OS. that's why you see 61.3 GB instead of 64 GB, ~2.7GB is being used to run the hardware.

[–] ShadowRam@fedia.io 1 points 4 days ago (1 children)

Sorry, it's me taking up that space.

Name checks out.

[–] gens@programming.dev 1 points 4 days ago

RAM and cpus use the proper 1024 B to kB to MB to GB. Unlike hdd makers that paid ISO to retroactively make it 1000. Or worse internet providers that use bits (b) instead of bytes (B) (reasoning that signal transmission uses bits).

It's definitely the kernel and bios reserving pieces. They need it to run the computer, after all. Afaik even other hardware can reserve memory for itself, like gpus or network devices.

[–] dual_sport_dork@lemmy.world 1 points 4 days ago

Unlike hard drives and SSDs which as you have observed are incessantly manufactured in powers-of-ten mega/giga/terabytes but marketed as if they were powers-of-two mebi/gibi/tebibytes, a RAM chip's capacity is absolutely, definitely, 100% down to the individual bit precisely the capacity at which it is rated in powers-of-two megabytes. Due to the way that memory is accessed there is no other way and it cannot be fudged. (The exception is ECC RAM which typically has an extra bit per byte to hold the parity data, but this is not accessible to the user so that's moot.)

There is a small bite of your memory space taken out for Memtestx86 to reside in, which is necessary in order for it to run. Your BIOS probably has some portion of memory reserved as well, either for peripheral memory mapping or for use as video memory, or similar.

There is probably also some rounding going on in the total capacity that Memtestx86 reports.

[–] Treczoks@lemmy.world 1 points 4 days ago

When the computer boots, it puts part of the bios in RAM and locks this area. Some hardware drivers do the same.

[–] unitedwithme@lemmy.today 1 points 4 days ago* (last edited 4 days ago) (1 children)

OK, slow down there, you might go into the BIOS and check to see if you have a hardware reserve for internal graphics. Sometimes it'll default to something small like 64MB, by you can configure it up to 2048MB on some Intel motherboards iirc, maybe AMD is higher because it's an "APU" which will reserve some in the same way.

[–] r00ty@kbin.life 0 points 4 days ago (1 children)

This was my thought too. 64GB is 64GB (powers of 2) when it comes to RAM unlike storage media. So if it shows as less, something is allocating it at or before boot.

[–] floquant@lemmy.dbzer0.com 0 points 3 days ago (1 children)

GiB is powers of two, GB is powers of ten.

It's extra confusing because it was retroactively made this way, and most people mean gibibyte when colloquially using gigabyte. You'd expect we'd make the "weird" one the one that is used less, but G/giga is indeed a SI prefix that means 10^9. It will never stop causing confusion and miscommunication

[–] forestbeasts@pawb.social 1 points 14 hours ago (1 children)

GiB is powers of two, GB can be either depending on context, IMO.

-- Frost

[–] r00ty@kbin.life 2 points 13 hours ago (1 children)

Yeah. Pretty sure back in the 90s, no one actively used GiB. Well, MiB (not the will Smith one) more likely back then.

You said it was 8mb of memory and people knew, it would be the nearest power of 2. You'd say 120mb hdd, and well, going to be honest a lot of people said it was "formatting losses". I don't think most people were aware they were being fleeced back then.

[–] forestbeasts@pawb.social 1 points 12 hours ago

And then you have Mac, which uses powers of 10 consistently for file sizes, IIRC! Which IMO is also a totally cromulent way to go about it.

Some Linux file managers can be configured to use base 10. I think Dolphin has a super secret config file tweak you can do. There's no UI setting for it though. It defaults to base 2.

-- Frost

[–] sbeak@sopuli.xyz 0 points 3 days ago (1 children)

I do Computer Science, so I know these things!

Essentially, nearly all computers are based on binary (base 2), which is why you see a lot of powers of two when talking about processors, memory, and that sort. However, our standard SI units use base 10. 1000 grams is a kilogram, 1000 metres is a kilometre, etc. So when creating a standard unit for memory, kilobytes, megabytes, etc. base 10 was used. KB, MB, GB, TB, etc. are all SI units. However, the IEC standard was later created that utilised base 2 instead. So KiB, MiB, GiB, TiB, etc. are all IEC units where 1024 bytes is equal to one kibibyte, "bi" for binary!

But as you said, this is probably not the issue. RAM usually uses IEC units, while storage advertises SI units. Some of your memory might be reserved for system level stuff and/or the iGPU. My laptop (running EndeavourOS, so the units properly show up as IEC units unlike on Windows), for instance, shows up as 15.2 GiB of total memory, presumably because some of it is reserved for the iGPU and other bits.

[–] solomonschuler@lemmy.zip 1 points 1 day ago

I would have assumed that much like memory on heap there's some memory that's inaccessible by the OS (and hence resource monitor) so when it fetches the size of the memory, it only fetches the amount pre-allocated to the OS.

[–] CapuccinoCoretto@lemmy.world 0 points 4 days ago (1 children)
[–] AmidFuror@fedia.io 0 points 4 days ago (1 children)

Zaphod showed up in another comment thread. What is going on?

[–] Lumidaub@feddit.org 1 points 3 days ago

What's going on is that Lemmy's demographics are mostly made of huge nerds who thrive on references.