|
I am taking this opportunity to share with all of you something that I have learned recently regarding 3GB Mode with Microsoft Windows XP SP2. Being in the 3D CAD industry I am very aware of my computer’s capabilities, or at least I thought I was. As it turns out, maybe not so much as I thought.
When I first heard of the 3GB mode coming in XP I was beyond myself with anticipation. Finally no crashing for my customers with Large Assemblies, and complex renderings, each time RAM use in SolidWorks reached ~1.6GB. Now, in theory, I will get the use of ~2.6GB of RAM for my CAD application. A 60% increase in available RAM is a huge deal for me!
The rules were simple. Have service pack 2 of XP loaded. Install 4GB of RAM on the machine. Add the /3GB switch to the end of the boot string in the boot.ini file. Then enjoy more power. The results were not as simple however. Unfortunately, we saw different results on different machines. Many machines were affected very positively while others were just not seeing a very impressive increase in performance as expected.
After researching the issue I have found the culprit. Believe it or not this is not a limitation of the CAD software. It is actually a limitation of the hardware in combination with the Operating System. Further, it’s a limitation that we will have to live with. At least until we switch to 64bit machines with Operating Systems to match.
The problem starts with a very basic equation:
232 = 4,294,967,296
4,294,967,296/(1024*1024) = 4,096
This is the 4,096MB or 4GB of physical address space that the 32bit OS has available. (Now there are hardware hacks and the /PAE switch to extend the RAM, but these efforts don’t really buy you much in a CAD environment and the PAE only gets you 4GB in the Windows XP OS anyway, PAE Memory and Windows, so we will skip them here). Only a portion of this can be used for addressing memory. The rest of it is used to address other memory-mapped devices on your machine.
The result of this is interesting. In the diagram below you see that with 3GB of RAM the reserved address space is not a factor. The hardware addresses the 3GB of RAM and still allocated the 1GB for reserved space. However, when you add the 4th GB things can get very disturbing. The first 3GB of RAM get addressed appropriately. Then the reserve space is allocated. Finally the 4th GB is never found because the reserve space eats up the 4th GB of addressable space. The 4th GB gets left in the 5GB area of addressable space that does not exist and thus the 4th GB is not seen or recognized by the hardware, the OS, or your application. In a situation like this 3GB is better than 4GB because it’s less expensive.
The portion that is reserved for addressing other devices varies between manufactures and motherboard configurations. In many cases it is as much as 1GB of reserved space leaving only 3GB for addressing RAM.
Basically, this mean that, that in many machines running Windows XP in the 32bit architecture, even with the 3GB switch on, the OS and background services, etc… will eat enough of the 3GB of addressable RAM to leave you exactly in the same spot you started. No appreciable bump in RAM to the CAD application at all.
To compound the issue it seems that Windows Vista is hurling us into 64bit processing whether we want to take it slow or not. Windows Vista 32bit has purposely limited the usable RAM to about 3.12 regardless of your hardware capabilities. The solution to this issue is spelled out in this knowledge based article, Windows Vista Memory Issue. Simply put, their solution is to upgrade hardware and Operating System to 64bit.
As for Windows XP and the 32bit environment you can expect to get shorted on at least some of your RAM. Your best bet will be to test 4GB in your machine to make sure it is taking advantage of a reasonable amount prior to making large purchases across your engineering department. Hopefully you can do this by temporarily pulling RAM from other machines to run a quick test. Most importantly though, think carefully prior to making purchases realizing that moving to Windows Vista will probably force you into the 64bit world and a greater expense may be coming soon.
To find out where you are now regarding available RAM you can access the system properties in your Start menu, in All Programs|Accessories|System tools|System Info. To find out if, and how high, your motherboard and chipset can rise above these limitations you will need to work with your hardware provider.
In conclusion the decisions facing CAD Administrators are getting fairly simple. And, I have a few simple suggestions to go along with them.
- If you are not currently taxing the RAM with your modeling leave well enough alone.
- Don’t buy RAM for a 32bit machine until the homework has been done
- Next practical chance, go to 64bit Hardware and OS.
- Always talk to the hardware provider and determine the true capabilities of the machine. (If they state that it will take 4GB or even 8GB this sometimes means the machine has been tested and will actually boot when you put the RAM in the machine. It does not necessarily mean it will take advantage of that RAM in the XP OS)
|
Other Related Articles:
Dell Article
4GB memory hole: the new 640KB limit is upon us
Dude Where's My 4 Gigabytes of RAM?
3GB or 4GB - a 'Virtual' Memory Upgrade
|