Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

If I run a 32 bit OS on a computer with more than 4GB of RAM, which RAM sticks are used?

Is it random, determined by some algorithm or is a percentage of each used?

Let's say for example, I have a computer with 6GB of RAM, two 2GB sticks, and two 1GB sticks, going 2-1-2-1. If I run 32 bit Windows 7 on this computer which RAM sticks are used? Also, is there any advantage to adding more than 4GB of RAM to a computer that is running a 32 bit OS?


share|improve this question
If you install certain AWE-aware operating systems, you could get away with more than 4GB of RAM, but I really wouldn't bother. Windows 7's serial number on your DVD will work with 32-bit or 64-bit. The only reason you'd need 32-bit is to run older 16-bit software, which is not supported on the 64-bit platform. – user3463 Jul 15 '12 at 17:38
In your example configuration, performance would be improved by removing the two 1GB sticks. They're just loading the memory channels and requiring, at minimum, one extra command state per access. – David Schwartz Jul 15 '12 at 18:27
@DavidSchwartz: Doesn't that depend on the CPU? A Core i7 with 3 memory channels wouldn't suffer from the third stick. – MSalters Jul 16 '12 at 8:00
He has four sticks. If he has two channels, he has a performance penalty from having two sticks per channel. If he has three or four channels, his channels are imbalanced. Either way, he's better off with the two 1GB sticks out. – David Schwartz Jul 16 '12 at 8:16
up vote 10 down vote accepted

Which sticks are actually in use depends on how your motherboard is physically wired. You should be able to find this information in your motherboard manual (if you didn't throw it out :) ).

As for having more than 4GB of RAM in a 32-bit operating system, there really isn't any benefit, since no program can make use of it, nor any home edition of Windows. If you have 4GB or more of RAM, you should install a 64-bit operating system.

share|improve this answer
You don't even need large-address-space-aware programs. It is a myth that apps must be recoded to take advantage of more than 4 GB RAM. Apps dont' access RAM, at all. They access virtual addresses. In a 32-bit OS each process's address space is limited to 4 GB (2 or 3 GB on Windows). But the collection of processes on a PAE-enabled 32-bit machine, plus the OS, can most certainly take advantage of > 4 GB RAM. No app coding changes needed. Windows 32-bit servers were doing this for years before x64 came along. – Jamie Hanrahan Aug 3 '14 at 19:58
@JamieHanrahan We have discussed that already. It's all true, but not at all relevant, since server OSes are not under discussion here. – Michael Hampton Aug 4 '14 at 11:58

There is no advantage to using more than 4GB of ram on a 32-bit PC. The stick that are used are the ones it the lowest-numbered slots, unless you have dualchannel, when two identical sticks are treated as one big stick and fill up simultaneously.

share|improve this answer

As you stated, 32Bit OSes don't support more than 4Gig of RAM, therefore, it is not useful to have more than 4Gig of RAM if you don't intend to update your OS to 64bit.

As for the usage of the RAM, it doess't matter which are use. Let me explain: If you want to, say, remove the 2Gig that aren't used, you can easily just remove the two 1Gig and you go. When your computer start, the BIOS looks for what RAM is present and then make it useable for the OS, so you don't have to really worry about which one is used or not.

If it's for performance issue (like if you added more performing RAM than what was there or something like that), I propose you to just remove the unwanted sticks and just put the one you want to be used.

share|improve this answer

Actually, an operating system designed for a 32-bit address space can make use of more than 4GB of RAM.

This feature is called PAE (Physical Address Extensions). However, it has been disabled in Windows 7: see this SuperUser question for details.

As for which sticks are in use, that's entirely up to the motherboard; it gets to decide the phyiscal-address-to-device mappings. In fact, it's (theoretically) possible that you could end up using some part of all the memory modules in the machine.

share|improve this answer
If memory serves (no pun intended), PAE is (or can be) enabled on 32-bit versions of Windows, but that will not allow them to go above 4 GB of RAM, due to restrictions imposed by Windows developers rather than the hardware. – Bob Jul 15 '12 at 17:54

PAE (Physical Address Extension) adds virtual addressing lines to a 32 bit computer system allowing the computer to see upto 64 GB of RAM (I believe it adds 4 addressing lines=36 bits).

In theory, to take advantage of PAE, you will need to use software designed/coded to work with 36 bits.

However, software are coded to work with either 32b addressing lines or 64b addressing lines architecture. Adding the extra virtual addresses to a 32 bit will not make any 32 bit software access more than 4GB of RAM. And obviously, 64 bit software won't work in a 32 bit operating system with PAE (completely incompatible, not same architecture).

There is no advantage to adding more than 4GB of RAM.

share|improve this answer
No. No. No. PAE adds physical address lines. And apps don't have to do anything to take advantage of it. The OS does, but that's transparent to apps (processes). PAE does not allow any one 32-bit app to use more than 32 bits' worth of virtual address space (in Windows, due to the division of address space between user mode and kernel mode, apps are actually limited to 2 GB vas, or 3 GB with the extenduserva option). So processes won't be using more than 2 or 3 GB RAM either. But the collection of 32-bit processes + the 32-bit OS can most certainly use more than 4 GB, via PAE. – Jamie Hanrahan Aug 3 '14 at 19:51

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .