Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Why does my 4GB of RAM show up as 3GB in XP? 4

Status
Not open for further replies.

beeej21

Technical User
Jul 7, 2003
67
US
Just installed 2 more 1GB Patriot RAM sticks onto my MB this evening, but my Windows XP Pro only shows me as having 3GB of RAM installed in Sytem Properties...

MB is an ASUS A8N-SLI Premium

CPU is an AMD Athlon 64 X2 4200, 2.21 GHz

RAM is 4 1GB Patriot sticks, premium with heat dispensers

O/S is Windows XP Pro version 2002 with SP 2

In my BIOS it shows that I have 4GB of RAM, but not in the O/S. Is there something I need to do.. or is there something I may have done wrong or overlooked?

Any answers or advise would be really appreciated. Thanks in advance.
 
If you search on the net, you will find warnings about the 3GB switch. I've heard that some device drivers will not load properly, or some software install routines won't work. It doesn't hurt to try it though. You can always set it back.

And yes, that's all you need to do to turn that switch on.

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
[navy]beeej21[/navy]
IMHO You only need to even consider the /3GB switch if you have a program that is crashing and reporting (just before it crashes) that it is out of memory.

Without the switch, every program running has 2GB available to it and XP also has 2GB. So assume for the sake of argument you have 5 programs running. P1 - P5 and you have not used the switch and each program is using 1GB for itself. Also assume you have an adequate swap file. Let's also pretend that only one of those programs is doing anything. Let's say that that is P1. But it is doing an awful lot of I/O to disk.

Very simply (and I am sure someone will pull me for saying this)! Of your 4GB RAM - XP will have about 500MB for itself. P1 will be in RAM P2 (say) will also be in RAM and P2-P5 will be in the swap file. So, 2GB will be used for programs (P1 and P2) 500MB fox XP processes leaving 1.5GB for I/O buffers. What happens next depends on how P1 is writing to disk. If it writing continuously and faster than the disk can handle data then the buffer will fill anyway and the program will be limited by the speed the disk can handle data. But, if the program writes in bursts, or slowly and the buffer does not fill, then XP can speed the program up by taking the data from the program at high speed and writing it to disk when the program itself is not generating any I/O. Follow me so far?

Should P1 request an extra GB of RAM then P2 will be swapped out. Should P3 and P4 become active then an awful lot of swapping in and out will go on.

However should P1 then request another 500MB it will crash. "Out of memory".

Lets consider this scenario with the /3GB switch.

XP now only has 1GB - but each and every program has 3GB. So initially P1 P2 and P3 will be in RAM. But P1 (doing lots of I/O) only gets a 500MB buffer, maximum. So it is easier for it to be filled and things slow to the speed of the disk. However, If it asks for another GB then P3 just gets swapped out. Should P2 become active then an no problem you have 4GB, XP has 1, P1 has 2 and P2 has 1. If P1 asks for another 500MB - no problem, P2 gets swapped out and P1 gets its RAM. But a bit of swapping will go on if P2 is active.

Does that help? As suggested earlier - can you set up a test. Load your machine as you normally would and time something you do that takes an appreciable time. Time the same scenario with and without the /3GB switch.

If you can't and no programs are failing with out of memory errors then don't use the switch. I doubt it makes any significance difference in the real world unless a program needs more than 2GB.

Hope this helps!
 
cdogg, stduc.. you guys are just plain awesome. Thanks a ton for all the info, suggestions, and pointers. Stduc, your last explanation post was really clear and made a ton of sense. Thank you immensely for taking so much time to write all that out for my benefit. If ever you write a manual or book.. I'm the first in line for your John Hancock! Gonna bog down my system this weekend with a few applications and hefty files and see how it goes.

You fellas have a great weekend. Thanks again.
 
I like stduc's effort in the explanation, but we have to remember that we're talking about virtual address space, not physical RAM. So the argument about swapping to disk slowing things down is not entirely accurate.

Consider this. A program might lock over 50MB of address space when it's first opened, but only end up using 10MB of RAM. Maybe another program only needs 10MB of address space, but ends up using 50MB of RAM (address pages can be shared with more than one location in RAM). The important thing to realize here is that virtual address space is not a one-to-one ratio with physical address space (a.k.a. RAM).

The 3GB switch increases the amount available to applications on the virtual side, but as you can see, it does not have a direct relationship with RAM. This is why you may or may not notice a difference in performance.

I think stduc did a good job summing everything else up though. Unfortunately, trial & error is the only real way to tell if it's going to help you or not...

~cdogg
"Insanity: doing the same thing over and over again and expecting different results." - Albert Einstein
[tab][navy]For general rules and guidelines to get better answers, click here:[/navy] faq219-2884
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top