SolidWorks Performance Blitz! (Part 1: /3GB Switch)

April 9th, 2008

SolidWorks Performance Blitz Series
Part 1: /3GB Switch
Part 2: Anti-virus Tip/Trick
Part 3: Virtual Memory
Part 4: Computer Processor
Part 5: Computer Maintenance
Part 6: Autosave & thumbnails

 *New additional details about boot.ini have been added at the end of this article in this color*

Windows NT, 2000, XP for 32-bit have one important limitation in memory management.  By default, they limit any program running to 2GB of physical memory.   This means that if you have 3 or 4 GB of memory plugged into your computer’s motherboard, SolidWorks will still only use 2GB.  To allow SolidWorks (and any other program) access to another GB of memory, employ what is known as the /3GB Switch.  This is done by a modification to the Windows boot.ini file.  

Using the /3GB Switch means that your software program uses more physical memory before it is forced to use harddrive space (virtual memory).  The advantage is that physical memory is much faster than virtual memory, so SolidWorks performance should improved on larger files that might otherwise need to dip into virtual memory.

It should be noted that there are potential issues with using the /3GB Switch.  Please see the hyperlinked article and Microsoft online resources if problems are experienced.  Also, if you do choose to make this modification to your computer system, you do so at your own risk!

Here are the instructions to employ the /3GB Switch:

1. Open Notepad.

2. Goto pulldown File>Open.  Type C:\boot.ini into the file name area and select Open.  The boot.ini file might be hidden from view, even if you have Windows Explorer set to view hidden files.

3. Save a backup of the file to something similar to C:\boot.bak.txt.  This is so you will have a backup of your current settings if you need to quickly switch back. 

4. Re-open C:\boot.ini.

4. Look for the something similar to following line within the file:

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect
5. Add a space character and /3GB to the end of that line.  Do not make any other modifications to any other lines within this file.  If troubleshooting is necessary on this line at a later time, look up the article at the hyperlinked article and Microsoft online resources/references .   6. Goto pulldown File>Save As….  Type ”C:\boot.ini” with quotation marks.  The quotation marks are important because Notepad will otherwise add a .txt to the end of the file name.7. Close Notepad.8. Restart the computer.  Upon restart, Windows will attempt to boot with the /3GB setting activated.Additional note about the /3GB Switch is that there is an urban legend of sorts regarding how Windows manages physical memory.  Some have mistakenly stated that Windows limits all applications it runs to the same 2GB of memory.  This is not true.  By default, Windows simply limits any program to a size limit of 2GB of memory.  Multiple programs can and will use more than 2GB total if they are open at the same time.  The /3GB Switch simply allows individual programs to access 3GB instead of 2GB.  Of course, this is were issues may arise since some programs (such as video card drivers) may try to make use of the same 1GB extra physical memory; this can cause a conflicts.  See the hyperlinked article and Microsoft online resources/references for more details if problems are experienced.Additional info about boot.ini: If you find that Notepad will not let you save boot.ini because it is read-only, you need to change the boot.ini preoperties (using Windows Explorer) to uncheck the read only setting.  If Windows Explorer does not allow you to see the boot.ini, goto pulldown Tools>Folder options>View tab.  Choose “Show hidden files and folders”.  Uncheck “Hide extentions for known file types”.  Uncheck “Hide protected operating system files”.  Choose to apply to all folders and accept the changes.  This will allow Windows Explorer to see the boot.ini.  At that point, right click on the boot.ini and uncheck “Read Only” and accept changes.  You will now be able to edit and save the boot.ini file with Notepad.

Categories: How-To, Tip/Trick | Tags: , , ,

7 Comments

  1. Beto

    Excellent !!! I did it, even if I changed the attrib from the cmd but it works.
    Thanks

  2. Devlin

    I enabled the 3GB switch and it certainly does work. It also started crashing my computer. Particularly if I even breathed on my video card settings.
    Win XP 32 Bit SP 3.0
    Nvidia FX1400 Quadro card

  3. SolidWorks Legion » SWW09: CAD Management Bootcamp

    [...] other comment that might turn some heads is his stern statement to not use the /3GB switch to give applications access to more of the computer’s RAM.  There are risks associated with [...]

  4. Larry Miller

    There seems to be some confusion here about what this switch does. This switch has nothing to do with RAM usage. By default every process has a 4GB virtual memory space, 2GB for it’s private use, with 2GB reserved for the system. Note: this is virtual memory space and has nothing to do with how much RAM is in the system. The /3GB switch changes the division to 3GB for application use with 1GB for the system.

    Applications use virtual memory exclusively – no exceptions. All references to memory go through the virtual address translation system of the processor. Also note, the term “virtual memory” as used here has absolutely nothing to do with the pagefile. Many uninformed sources have confused virtual memory with the pagefile.

    The switch has major system implications. Few applications will be able to use a 3GB address space. Only those applications that explicitly indicate that they are compatible will be given the larger address space. With the restricted space allowed for system use the file cache will be severely reduced, thus impairing overall system performance.

    In general the /3GB swith should only be used when an application REQUIRES the larger virtual space. There are very few, and most of these are server applications.

    One last time, the swith has NOTHING to do with RAM usage.

    References:
    http://blogs.technet.com/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx

    Larry Miller
    Microsoft MCSA

  5. solidworks

    The biggest omission from the above explanation is: DOES SOLIDWORKS BENEFIT FROM THE 3GB SWITCH on a 32 bit system with 4GB of physical RAM?

  6. Kelvin Lamport

    @solidworks … I have successfully used the /3GB switch (with SolidWorks) on systems with only 1GB of RAM.

  7. Adrian Bowlus

    The answer is emphatically YES. Solidworks is one of those few programs that will take advantage of more virtual memory space and the performance with large files is greatly impoved. Actually with large files, Solidworks will not operate at all with only 2GB of Virtual Memory Space, the “3GB” switch is the only way that Solidworks will not run out of memory resources for the large assemblies!
    Adrian

Leave a comment

By submitting a comment here you grant this site a perpetual license to reproduce your submitted words and name in attribution. Please note, comments are moderated to cut spam, so they may not appear instantly when submitted.