Sign in with
Sign up | Sign in
Your question

Can i use 4gb of memory on vista 32bit?

Last response: in Memory
Share
November 3, 2007 5:27:01 PM

At some places i read that vista 32bit supports 4gb max but in some other places it says vista 32bit wont use all the 4gb. If i get 4gb memory for vista 32bit how much will it actually use?

I cant upgrade to 64bit because i bought the OEM version of the 32bit version. But if i did upgrade to 64 bit version would i notice a big difference?

More about : 4gb memory vista 32bit

a b } Memory
November 3, 2007 6:22:24 PM

you will get anywhere from 3 gigs to 3.25 or so in most cases...

3.6 is about the most you can get....


With a 4meg pci video card i get this.....but is it worth it?
November 3, 2007 6:23:47 PM

Well this question has been answered 10million times. Do a search!!!!
Related resources
a b } Memory
November 3, 2007 6:27:48 PM

The 4GB limit refers to the amount of address space in a 32bit operating system: 2bytes to the 32nd power = 4 Gigabytes. This is a hard, mathematical limit. 4GB is it. There is no more. If you don't like it, or think it's unfair, take the issue up with your math professor.


The "problem" is that there is MORE than just RAM that needs the addresses. Your BIOS has ROM that needs addresses. Your CPU has L1 and L2 caches. Your Hard Drive(s) has a cache. Your Video Card has a significant amount of memory. And every active device on the computer also takes up some addresse(s). So because there are only 4GB available, the system prioritizes what's more important than what and yoru RAM gets what's left over.

The way things currently are, given a reasonably powerful video card, you'll see roughly 3.25 GB of memory, Max. Why? Because it just so happens that most home computers will use around 750MB to themselves.

Pretty pictures, if you need:
http://www.codinghorror.com/blog/archives/000811.html



Now, for the peeps here who like to argue: YES, IT IS POSSIBLE TO USE PAE EXTENSIONS. But Microsoft does not support these on consumer OS's, and any/all device drivers *must* be written to use PAE. Why? Because the instant something tries a DMA (Direct Memory Access) operation, it's Blue Screen City. The problem here being almost nobody who writes drivers for consumer apps takes PAE into consideration. You'd need to run a server OS, and make sure your drivers are written properly.

So, for home users in a 32 bit Microsoft world: 3.25GB of RAM is about as much as you can ever expect.



To address the second question - I am running Vista 64 here, and no, there isn't a whole lot of difference. Looks the same. Feels the same. More aggressive about security (it *hates* unsigned certificates). It runs noticably snappier than the 32 bit version In and Of Itself, but: (1) 32 bit apps can't take much advantage, {Though I understand that there is some subset of common commands that can be run in pairs}, and (2) There are almost no consumer apps coded in 64 bits.

On the positive side, I haven't had any issues running 32 bit software. The exception being the unsigned digital certificates I mentioned earlier: Total no-go until you change your security settings. I thought about it, and didn't bother. Haven't had trouble finding other apps that do the same things and work. so...


You said you have 32 bit Vista: If you want, you can order a 64 bit CD for abount $10. Not much point in doing that (for the time being anyways), but you can if you want to.



{Edit: cos need to Engrish more better write I}
November 3, 2007 6:34:29 PM

Thanks for your answer, what is this about a 64 bit CD? So i can use my exisiting serial and i only have to pay for the CD? I am living in the UK, where could i get one of these cds?
a b } Memory
November 3, 2007 6:37:05 PM

roadrunner197069 said:
Well this question has been answered 10million times. Do a search!!!!



Yes.... We need a sticky...
a b } Memory
November 3, 2007 6:42:00 PM

Bidybag said:
Thanks for your answer, what is this about a 64 bit CD? So i can use my exisiting serial and i only have to pay for the CD? I am living in the UK, where could i get one of these cds?



If you have the OEM version of Vista, you might be out of luck. But for sure with a retail version you can order a 64 bit CD from Microsoft for $10.00 US. In English Pounds I believe that works out to a half pence, a used condom and a warm fart... But my math could be wrong on the exchange rate, so don't quote me. You might want to hit up the Microsoft UK website and see. Should be some kind of link in the 'Upgrade' area on the Vista page.
November 3, 2007 6:49:20 PM

I just got my 4 gigs and right away did a search - problem is, I got 10 million hits! The more helpful responses more typically resembled Scotteq's reply. Something that I haven't been able to figure out, is do I lose the 750 megs of stuff even if I only have 2 gigs of memory?

In other words, if 4 gigs of ram turns into 3.25 gigs because of all of that stuff that Scotteq said, then does 2 gigs of ram turn into 1.25 gigs because of the same reasons??? Bottom line - is it worth it to buy 4 gigs of ram or is there something weird that happens that degrades the performance of 4 gigs(3.25) gigs to where it isn't worth upgrading from 2 gigs (1.25 gigs).

Sorry RR, I've been reading for 3 days and haven't found the answer to this one. Anyone? Thank you in advance!

RC
a b } Memory
November 3, 2007 6:56:02 PM

Quote:
I just got my 4 gigs and right away did a search - problem is, I got 10 million hits! The more helpful responses more typically resembled Scotteq's reply. Something that I haven't been able to figure out, is do I lose the 750 megs of stuff even if I only have 2 gigs of memory?





The answer to this is "No". 2GB of RAM plus 750MB~ish is 2.750 GB. 2.750 is less than 4, so your system will see every bit.


{edit - because I don't know the difference between a period and a comma. And a 3 and a 5, apparently...}
November 3, 2007 7:08:22 PM

It sounds like you are suggesting that if you add 2 more gigs, that you will only see about .5 to .75 of it (3.25 gig - 2.750 gig=.5 gig) - not even 1.25 of it (1.25+2.750=4.00 gigs). Is this correct (approximately)?
a b } Memory
November 3, 2007 7:22:16 PM

Remodelboy said:
It sounds like you are suggesting that if you add 2 more gigs, that you will only see about .5 to .75 of it (3.25 gig - 2.750 gig=.5 gig) - not even 1.25 of it (1.25+2.750=4.00 gigs). Is this correct (approximately)?



Completely incorrect.

The math is very simple:


2GB of RAM plus the 750 MB needed for the system equals 2.75 Gigabytes. 2.75 Gigabytes is less than 4 Gigabytes, so the system sees it all.

Go with 3GB of RAM, and you get a 3.75 GB total. 3.75 is less than 4, so the system sees it all.

Go with 4GB of RAM, and you get 4.75GB total. 4.75 is MORE than 4. So we have a problem. The problem is solved by assigning the 750MB NEEDED for things other than your RAM first. When that's done, the RAM gets the 3.25 GB of addresses that are left over.


No need to make it any harder than it needs to be.
November 3, 2007 7:31:47 PM

what about the virtual ram (the pagefile), where does that fit in?

if all is filled up, what happens if you plug in another hardware device while the computer is running?
a b } Memory
November 3, 2007 7:37:43 PM

Pagefile is written to the HDD and therefore doesn't use the same pool of addresses.

Another hardware device would be assigned an address, and your abailable RAM would go down. You generally wouldn't notice a device since most only need a couple bytes.

Flash memory is treated like more permanent storage (CD or HDD) space
November 3, 2007 7:47:08 PM

what about the data in ram? if i were to plug in a harddrive with 16MB cache, it would then overwrite my data in dram?
a b } Memory
November 3, 2007 10:12:22 PM

You know.... I *really* wanted to give an incredibly sarcastic answer along the lines of "it automatically scrambles all of the data on your hard drive into an endless series of stupid questions...." But that wouldn't be right, and contrary to rumor I'm a lot nicer than that. The system assigns addresses that aren't being actively used at the time.

Though being Microsoft, your screen will just turn blue, anyhow...
November 3, 2007 10:50:39 PM

"It sounds like you are suggesting that if you add 2 more gigs, that you will only see about .5 to .75 of it "

"Go with 4GB of RAM, and you get 4.75GB total. 4.75 is MORE than 4. So we have a problem. The problem is solved by assigning the 750MB NEEDED for things other than your RAM first. When that's done, the RAM gets the 3.25 GB of addresses that are left over."

Thanks for the clarification of the math. Isn't my observation valid - that when adding the additional 2 gigs of ram, you really only get to use about .5 of it?

I like the idea of getting 3.75 gigs by adding 1 more gig of ram, but does anyone really do that? I thought that there is a problem with dual channel or DDR when using unbalanced amounts of ram in the slots.

What is your answer to "Should I change my 2x1 gigs of ram to 2x2 gigs of ram?" and what do you use?

I get all neurotic about trying to gain a slight advantage in gaming because I am old and not as fast in hand and mind - hey, maybe this should be my signature!
a b } Memory
November 3, 2007 11:18:38 PM

When adding an additional 2GB of RAM from 2, the total in the examples I gave would be 3.25GB of ram available for your operating system to use. Therefore you get to use another 1.25GB over the 2GB you had before. Not .5Gb.


The part I'm confused about is how you think it's even rmotely possible to get from 2GB to 3.75GB by adding only 1 Gig.


Look - It's like a glass that holds 4GB worth of stuff. 0.75GB is used for things other than RAM. If you add 2GB of RAM, the glass is now 2.75gb full. There's 1.25GB worth of space left. So you can drink it all.

4GB glass, 0.75GB for the comp, plus 3GB of RAM leaves you with a glass that's 3.75GB full. You still get to drink it all.

If you take that same 4GB glass, add that same 0.75GB worth "Other Than RAM", and then try to add 4GB of RAM??? Only 3.25GB will fit in the glass. The rest can't be used because it spilled.



I have 4, 1 Gigabyte DIMMS. Why? I started with 2 and later bought 2 more.

If you are going to have 4 Gigabytes of RAM, most motherboards would prefer 2, 2GB sticks. Electronically, it's just easier to drive. Otherwise?? As long as they run at the same timings and speeds, it doesn't matter to your software.

Long term - In the case where you plan on going to a 64 bit Operating System, which runs out of addresses a little north of 16 TERABYTES, 2 2GB sticks would be the better choice because someday you might want to add 2 more sticks and have 8GB of RAM.


a b } Memory
November 3, 2007 11:26:20 PM

Paul - We had this discussion in the last thread. Yes, your math is perfect. However, theory isn't application and the operating systems and hardware we can actually buy don't work like that. Let me see if I can dig the thing up again.
a b } Memory
November 3, 2007 11:43:22 PM

As a matter of pragmatism, you might want to think twice about using "PAE" and "Microsoft" in the same sentence. At least on a consumer level.

Check: http://support.microsoft.com/kb/929605/en-us

Quote:
"To avoid potential driver compatibility issues, the 32-bit versions of Windows Vista limit the total available memory to 3.12 GB"


and

Quote:
"DEP may cause compatibility issues with any driver that performs code generation or that uses other techniques to generate executable code in real time. Many drivers that experienced these issues have been fixed. Because DEP is always on for drivers that are on 64-bit versions of Windows, these drivers typically experienced compatibility issues. However, there is no guarantee that all drivers have been updated to fix PAE-mode-induced compatibility issues. However, there are few drivers that use these techniques. DEP alone does not typically cause driver compatibility issues.


{BOLD text provided by me for emphasis.}

And - If you enable PAE:

Quote:
Some drivers might not load if PAE mode is enabled because the device might be unable to perform 64-bit addressing. Or, the drivers might be written with the assumption that PAE mode requires more than 4 GB of memory. Such drivers are written with the expectation that the drivers will always receive 64-bit addresses in PAE mode and that the driver or the device cannot interpret the address.

Other drivers might load in PAE mode but cause system instability by directly modifying system page table entries (PTE). These drivers expect 32-bit page table entries but receive 64-bit PTEs in PAE mode instead.

The most common PAE compatibility issue for drivers involves direct memory access (DMA) transfers and map register allocation. Many devices that support DMA, typically 32-bit adapters, cannot perform 64-bit physical addressing.



Yes, PAE enables 4GB and greater. But Microsoft have basically decided they already have have (and certainly are getting blamed for...) more than enough issues with badly written third party drivers causing problems. Therefore they don't officially support PAE in 32 bit OSs because very few vendors write the code needed to use it, and have even gone so far as to artificially set the limit to the point where it doesn't matter.


Scott
November 3, 2007 11:59:47 PM

if they don't officially support pae, why do they enable it by default?

if i look in system properties in my xp, it says "Physical Address Extension". I haven't enabled it, and there is no pae switch in my boot.ini
a b } Memory
November 4, 2007 12:28:42 AM

The operating system understands what a PAE extension is. Hence 'enabled'. However, that doesn't mean that Microsoft enabled the extended addressing. They do not because almost no consumer drivers are written to use PAE. This causes big problems when a driver tries to address memory directly, or directly write/receive an address. It's expecting a 32 bit result, but gets a 64 bit answer. If they enabled the extended addressing, then bad drivers would cause a lot more crashes than they already do. It's not a theoretical matter, but a practical one.


You do not have a PAE switch entry in your boot.ini because you have to manually add it. Also, the KB you posted earlier states Windows Server 2003 and Vista. Not XP.

November 4, 2007 12:59:11 AM

the articles i've linked to especially mentions xp, and especially mentions pae is enabled by default if dep is present, so the pae switch is not nessecery.

it says dep cannot be supported, if pae is not present
November 4, 2007 1:31:48 AM

lol, whats happened to my thread?
November 4, 2007 8:27:26 PM

Thanks for the clarification. I am trying to understand the "new math" and this statement threw me off:

"2GB of RAM plus the 750 MB needed for the system equals 2.75 Gigabytes. 2.75 Gigabytes is less than 4 Gigabytes, so the system sees it all.

Go with 3GB of RAM, and you get a 3.75 GB total. 3.75 is less than 4, so the system sees it all. "

Your glass analogy helps alot. Your statement about getting to use 1.25 gigs drives home the concept for me.

Sorry Bidybag, I thought that I was asking about the same question, just asking for some extra clarification.
May 21, 2008 11:18:51 PM

Quote:
therefore, a properly designed 32-bit hardware
addressing system should be able to word-address
up to 16 Gigabytes of hardware address space,
where a "word" is 4 bytes in length (32 bits) i.e.
2**32 x 4.


Everything else in your post was correct but there are two problems with this statement. One that is that you would actually wind up wasting memory if you addressed 32 bits at a time, so I'm not so sure it would be "properly designed". Secondly, a word doesn't necessarily need to be 32 bits. It depends on the system that you're using.

You need to address every single byte in order to pack memory as close together as possible. From a developers perspective if you need to use an array of 10 single byte characters (such as ascii for example) where you only access on character at a time, you would wind up storing each 8 bit character at an address that refers to a 32 bit section. So instead of using 10 * 8 bits (10 bytes) with a system where each byte is addressed, you would wind up using 10 * 32 bits (40 bytes) in the "properly designed" system that you're talking about, effectively losing 30 bytes worth of perfectly good memory for absolutely nothing. I know these may seem like minuscule numbers to you, but keep in mind that it isn't that uncommon to develop an application in which you use large arrays of 16 bit and 8 bit values. For instance, audio files such as mp3 or wav typically use 16 bit shorts to store each sample since the value of sample does not need to exceed 32,767. In your "properly designed" system you would wind up using twice as much ram to play an audio file then you normally use. The byte addressing architecture doesn't limit you from processing 32 bits a time. However, it provides you with greater control as to where you want to store your memory and how tightly you can pack 8 bit or 16 bit values.
!