How much memory will XP Pro 32 use?

billin30

Distinguished
Jul 15, 2008
254
0
18,790
I am trying to get our IT guy here at work to upgrade all our computers with 1 more GB of Ram. Right now we are all at 2GB. We are an engineering firm mostly running Microstation V8 and Geopak CAD programs. I think we have been getting a lot of memory errors lately and hoped to get some more memory.

I brought it up to him and he claims that XP Pro 32 only will see/utilize 2 GB of memory. I'm pretty sure this is untrue because I have 4 GB in my home computer, 2 512 MB vid cards, and my windows see 2.75 in the system window.

So what is the real answer. How much will XP actually use?

We have mostly 512mb video cards or lower here, a Q6600 in my machine, probably a few Duos in the other machines. He custom built them all. Mostly ASUS boards with Nvidia chipsets i believe. Could be a few intel chipsets in there too.
 

timaahhh

Distinguished
Nov 5, 2007
279
0
18,790
It sees around 3.5, but it depends on the number of devices connected. The more devices connect the more address space reserved for them. Mine sees almost 3.6 GB of the 4 GB, I have a harddrive, an optical drive, and an 8800 GT graphics card.
 

XMSYellowbeard

Distinguished
Nov 2, 2006
933
0
19,060
Your IT guy is probably thinking about the fact that most apps are going to use a MAX of 2GB of memory under a 32bit OS.

And, for stability purposes, I'd suggest you upgrade to 4GB and to do so by adding memory that EXACTLY matches the existing memory in the machines or by installing a 2 x 2GB kit. Mixing and matching different ICs is not a good idea. With the setup you described, your systems should "see" about 3.25GB.

Your IT guy might get some use from this also, AN806: http://www.corsairmemory.com/appnotes/default.aspx
 

knotknut

Distinguished
Aug 13, 2007
1,218
1
19,310
In 32 bit Windows operating systems, the total addressable space available is 4GB. If you installed total 4GB memory, the system will detect less than 4GB of total memory because of address space allocation for other critical functions, such as:

- System BIOS (including motherboard, add-on cards, etc..)
- Motherboardsmotherboards resources
- Memory mapped I/O
- Configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices

Edit: Thank scotteq
 
I see 3.25 GB, and my 8800GTX has 0.75 GB of video RAM. Like others have said, you should be able to use 3.5 GB or close to that, with a 512MB card.

If your software works on XP-64 or Vista-64 you may want to upgrade the operating system and get 8 GB of RAM. It will cost about $300 or $400 (for Vista Business 64-bit + RAM) and a lot of work for the IT guy, but I think your productivity would go up a lot. If you're getting out of memory errors then I'm sure there are lots of times when you don't get errors yet but the system is swapping like crazy on the hard disk. That will make everything very slow, and it increases the chances that your hard disks will fail too.
 

DXRick

Distinguished
Jun 9, 2006
1,320
0
19,360
Adding memory may not fix memory errors. You can always look at the task manager to see what is going on with the memory in XP. Adding more memory could speed up the system, if the swapfile is being used a lot. Another possible problem is that your swapfile is not big enough, and XP is running out of virtual memory.

What are the memory errors you are getting?
 

billin30

Distinguished
Jul 15, 2008
254
0
18,790
We get errors in Microstation when the program tries to calculate out things for us like Cross Sections and drainage systems. These errors are thought to be caused my a lack of memory.

Doing all the OS upgrades is not a great idea. We are kinda limited by the network here. The program is installed on the machines, but we access all files on the network. To really make it better, we would have to get a faster network, which is outa my league.

I am kinda of confused by the fact that windows "sees" a certain amount of memory. Well it is there so it should see it. I guess the confusion is between what it "sees" and what it is actually able to use.

I just need to prove my IT guy that XP can use more than the 2GB that he has installed.
 
I use Vmware a lot and each virtual machine uses 512MB.
I have 4GB of memory, because 2 virtual machines open is my limit in XP 32-bit.
Do Ctrl-Alt-Del in a critical moment and check the memory usage on the machine.

 



You're confusing the physical memory with the addresses needed to communicate to/from it.


In 32 bit operating systems (XP, Vista, whatever), there is a bucket of addresses that's 4GB deep.

The system itself requires a certain amount of address space in the bucket - 500~750MB, depending.

Devices also consume addresses - Graphics cards being the greediest, as video memory has to be addressed from the same bucket as everything else.

Now, if the operating system cannot address the thing, than it cannot communicate/use it. So designers assign system stuff first, then RAM last. Why? Because if a system device isn't addressed, it doesn't function. If there's RAM left over, then the OS simply doesn't use it.


If you're having trouble visualizing: Imagine a container that holds exactly 1 quart - 1 cup representing 1 GB.

3/4 cup of water represents the 750MB needed for system usage <Pours that in the quart jar>
Toss in a half cup to represent a 512MB video card <Pours in a half cup of water - jar fills up some more>

Now... If you take another 4 cups of water for the 4GB of RAM you have sitting there and try to pour that in the quart jar?? It simply doesn't fit. That's the issue here - The operating system can only handle 4GB, and that 4GB *must* include thing other than RAM. When the 4GB is reached, there are no more addresses.



Regarding the 2GB your tech is referring to: In Windows, the OS automatically limits 2GB for applications, and most applications are written with that limitation in mind. It is *possible* to get around that limit (/3gb switch)... BUT there is no free lunch, and Windows is quite a bit less than graceful when it runs out of address space for it's own needs. So there is a liklihood that activating the /3gb switch would only accomplish turning application errors into Windows Blue Screens...


If you have the space - read "aren't running heavy graphics" there is room to handle more RAM - The 2GB Windows Application limit is "per App", and nothing runs in a vacuum. So adding a little more physical memory can allow the app you are running to have it's full 2GB share and still leave memory to handle system and background apps enough to work as well.

But, as already suggested, the permanent solution is to change operating system to a 64 bit version of windows. That puts the address limit out to the (current, artificially set) 128GB limit.