Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

From What I've gathered, by default 32-bit systems will not recognize the 4GB of RAM, rather it would only recognize up to around 3GB of RAM. My question is simple, will there likely be a performance hit of any sort if I proceed in using the 4GB anyway? I don't mind not "maxing out" the 4GB - just as long as there won't be any significant performance and stability issues I'll be more than happy. I ask because I have a 2 GB stick lying around and it's a shame not to use it.

Thanks for the answers in advance!

share|improve this question
    
I just want to clear up something. 32bit windows can handle 4 gigs of ram just fine. However after 3+ gigs of ram, the system needs to use the ram for memory addressing. So the ram is there it is just being used already. 64bit systems do have the same problem but it doesn't start until you have a 7.2 billion gigabytes. en.wikipedia.org/wiki/64-bit#32_vs_64_bit –  Tony Sep 14 '09 at 15:28
    
I'm sorry this is a bit Latin to me, would be grateful if you could clarify. When you say, "However after 3+ gigs of ram, the system needs to use the ram for memory addressing", does that mean going beyond 3 Gigs of RAM will impose a significant performance cost such that installing 4GB of RAM in Real Performance would be significantly less efficient than say 3GB or even 2GB? –  techtechmo Sep 15 '09 at 1:00
    
@techtechmo: The RAM beyond ~3.5 gigs is not used at all. The OS literally cannot see this extra RAM due to 32-bit addressing limitations. Why don't you just install the RAM and try comparing some simple benchmarks, like the frame rate in Real. –  Leftium Sep 15 '09 at 3:58
    
Thanks to all who gave their inputs, I'm feeling much more confident about installing the extra 2GB of RAM now (which is identical to the stick currently installed. :) –  techtechmo Sep 15 '09 at 6:14
add comment

5 Answers

up vote 4 down vote accepted

You can install as much physical RAM as your hardware supports without any performance penalty on 32-bit Windows. The only catch is a 32-bit OS will ignore all but ~3.5 GB due to the limitations of using 32-bit memory addresses.

Now, it is possible to use more than ~3.5 GB of RAM on a 32-bit OS. However, this introduces a performance penalty because the 32-bit OS must use extra processing to overcome the 32-bit limitations. This is not the default setting for most versions of 32-bit Windows (only server versions even have the ability.) Linux may default to trying to use as much hardware RAM as possible.

In your specific case, I would be more worried about making sure the new stick of RAM matches the old stick. If they do not match, there may be a performance hit in order to allow the RAM to work together. And of course, introducing bad RAM will affect the stability of your system.

Update: that extra stick of RAM will require additional electricity, so performance in terms of battery life may be reduced. However, it may not be significant because the display, CPU, GPU, and hard drive are the main consumers of battery power.


Longer explanation of the 32-bit addressing limitation: In order to do basic operations on memory (read and write), the OS needs a method to select which part of memory will receive the read or write. For efficiency, 32-bit OS's use 32-bit addresses. Since each address holds 32 bits of data, up to 4 GB of memory can be addressed.

If the OS used this 32-bit address to access only RAM, exactly 4 GB of RAM could be used. However, there are special areas of this address space that are used for other purposes. Usually the biggest special area is video memory from the graphics card.

Now, to overcome the 32-bit addressing limitation (on a 32-bit OS) an offset is also added to the addressing scheme. This is the source of the performance penalty. Instead of using a simple 32-bit memory address directly, an extra offset value must also be checked.

Even more detailed explanation.

share|improve this answer
    
Actually the memory remapping you are talking about is done inside the chipset and don't impose much if any performance penalty. The Intel 945 and older chipsets don't support it though. –  Yuhong Bao Jan 1 '11 at 22:39
add comment

There will be no performance penalty. Windows will function as if you had installed the maximum amount of memory.

Just make sure the RAM is rated at the same speed (ie DDR800)

share|improve this answer
add comment

I just recently went through this and didn't notice any performance slowdowns going from 2 to 4 (3 usable).

share|improve this answer
add comment

Wrong, 32-bit systems do recognize 4GB of RAM.

The reason it seems it doesn't, is because the video card's memory is mapped to RAM. So if your card uses 0.5GB, then you've left only 4-0.5=3.5GB, meaning that 0.5GB is "lost".
However, if you installed only 2GB of memory, the situation is even worse, since after the video card is deducted you will have only 2-0.5=1.5GB left.

Conclusion: 4GB is fine for 32-bits.

share|improve this answer
    
So wait, in my case the "lost" 500MB is actually being used by the integrated graphics processor? Meaning the integrated graphics would no longer be taking anything from the 3.5 GB left over? Would be grateful for a clarification. :) –  techtechmo Sep 15 '09 at 1:04
    
Yes, the 3.5MB are entirely used, normally 2GB for applications and 1.5GB for Win7 (kernel objects and disk cache). With 4GB the overall performance will be much improved over 2GB, as there's much less chance of applications being swapped out of memory, and the copying of files of up to about 1GB is much faster because of the cache. –  harrymc Sep 15 '09 at 4:55
    
@harrymc: Are you talking about integrated video cards sharing system memory, or are you talking about video card memory consuming physical address space that could otherwise be used for RAM? The latter will not affect a system that has only 2 GB of memory (unless it has dual 1 GB video cards or something outrageous like that). –  bk1e Sep 15 '09 at 7:29
    
@harrymc: Also, your comment about having 2 GB for applications and 1.5 GB for Win7 kernel objects / disk cache seems to betray a misunderstanding of virtual vs. physical address space. With 3.5 GB of RAM in a 32-bit system and ignoring paging, applications can use more than 2 GB total, even if no single application can use more than 2 GB. –  bk1e Sep 15 '09 at 7:32
    
@bkle: sorry, but that's the way it works internally with windows when allocating physical memory. What's more, application with the right boot parameters can use more than 2GB, and 32-bit OS can happily run above the limit of 4GB, which is really a marketing ploy by Microsoft and artificially enforced. –  harrymc Sep 15 '09 at 8:22
show 1 more comment

I tried upgrading my laptop from 2 to 4 Gigs, and I noticed some performance improvement, but a more important improvement happens when the hard disk is fasted. The limitations of 4G of memory is becuase of the 32-but architecture, and for this reason, I also saw that I have less than 4 Gigs of RAM under Linux.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.