The 3GB switch and Revit

Solution:

You want to know more about enabling the 3GB switch to improve Revit® performance.

In an operating system, many different rules and settings are used to manage system resources to their fullest capacity and ensure that all applications/processes are given equal access to those resources. For example, operating systems are used to control the amount of total memory that any single application/process can use. In Windows XP, the default value for total memory is set to 2GB. If an application/process accesses more than 2GB of total memory, the application/process will be immediately terminated by the operating system.

Because total memory is a system setting, it can be changed by the user or administrator. In Windows XP with SP2, users can "flip" a 3GB switch to increase the total amount of memory that an application/process can use to 3GB. The 3GB switch can be beneficial for memory intensive programs. Typically, the 3GB switch does not need to be enabled for Revit®. However, there are some circumstances where Revit may benefit from the increase in total memory.

Who Should Consider Enabling the 3GB Switch?

In Revit, the size of a model determines the amount of memory required. If you are designing large models, you should consider enabling the 3GB switch. However, you should only enable the 3GB switch if more than the 2GB default of total memory is required.

Revit crashing frequently at unpredictable times is an indication that the 3GB switch is required. To determine whether a recent crash is due to memory issues, open the journal file that corresponds to the crashed Revit session. Journal files can be found in the Journals folder in your Revit program directory. Look for the lines that report memory statistics at the bottom of the journal file. An example of the memory statistics in a journal file are shown below.

  •   System Memory Statistics:
  •   Total RAM: 2095192 Kb
  •   Available RAM: 1183664 Kb
  •   Total VM: 2097024 Kb
  •   Available VM: 79072 Kb

Total VM (virtual memory) represents the Windows XP VM hard limit that is allowed for Revit. Available VM is the amount of VM that remains before Revit hits the hard limit. In this example, Available VM is running low, and it is likely that the hard limit will be exceeded.

Whether Revit is crashing or not, you should understand the limitations of your system configuration. To do so, you first need to identify how much memory is being used for Revit. Follow these steps:

  1. Open your Revit project.
  2. Right-click on the Windows Task Bar at the bottom of the screen. Click Task Manager.
  3. In the Windows Task Manager, click on the Processes tab.
  4. If the VM Size column is not displayed on the Processes tab, click Select Columns on the View menu.
  5. In the Select Columns dialog box, select the Virtual Memory Size check box. Click OK.
     
  6. Sort the processes by clicking on the VM Size column header. Locate the Revit process. 
     

Note the VM Size for the Revit process. If this number is close to 2GB at the beginning of a Revit session, enabling the 3GB switch will greatly reduce the chance that the 2GB ceiling will be reached while you are using Revit. If this number reaches 2GB, the Revit session will be terminated automatically.

Enabling the 3GB switch will not eliminate the possibility that Revit will crash due to memory shortages. However, the chances of a crash occurring will be reduced.

Before You Enable the 3GB Switch

You will need to verify that the paging file size is optimized for your system. The paging file should at least be the size that is recommended for Windows and at most the size should be two times the amount of installed RAM. Follow these steps:

  1. On the Start menu (Windows), click Settings > Control Panel.
  2. In Control Panel, double-click System.
  3. In the System Properties dialog box, click the Advanced tab. 
     
     
     
  4. Under Performance, click Settings.
  5. In the Performance Options dialog box, click the Advanced tab.
  6. On the Advanced tab, under Virtual Memory, click Change.
  7. In the Virtual Memory dialog box, change the Initial and Max values to 4092 (2 * 2GB) for a 2GB machine.  
     
  8. Click Set.
  9. Click OK to close each dialog box.

Enabling the 3GB Switch

  1. Right-click My Computer. Click Properties.
  2. In the System Properties dialog box, click the Advanced tab.
  3. On the Advanced tab, under Startup and Recovery, click Settings.
  4. In the Startup and Recovery dialog box, under System startup, click Edit. The Windows boot.ini file will be opened in Notepad.
  5. Save a renamed copy of your boot.ini file somewhere on your computer in case you need to revert back to your original version of the file. Note: Boot.ini files may be different from computer to computer.
  6. Highlight the following line in the boot.ini file:

    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect


  • Copy (Ctrl-C) and paste (Ctrl-V) the line just below the original. Note: Your exact text string may be different from the text string in this document. So be sure to copy the text string from your boot.ini file, not the text string shown here.
  • Modify the copied line to include “ /3GB”, as shown in the example below. Note: Do not overwrite any existing lines.

    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional 3GB" /3GB /fastdetect


If there are problems at startup, you may need to update some of your drivers.

Verifying that the 3GB switch is enabled

Start a Revit session, and then open the new journal text file that was created. The Journals folder can usually be found in the C:\Program Files\Autodesk Revit Building X\Journals directory. Note: Revit Building is used as an example. If you are using Revit Structure, the folder will be named "Revit Structure."  If you are using Revit Systems, the folder will be named "Revit Systems." Near the beginning of the journal, check to make sure that the TotalVirtualMemorySize equals approximately 31456000.

Conclusion

While the 3GB switch will help achieve a boost in Revit productivity for some users, it is important to note that in the majority of scenarios this will not be beneficial. So you should use discretion when you are trying to decide whether to enable the 3GB switch or not.

Enabling the 3GB switch can be beneficial to system performance. However, maximizing the affect of the 3GB switch may also require changing system settings and installing additional RAM.

You can use the /userva=xxxx switch for more precise tuning of user and kernel virtual memory space in the Windows Server 2003 family. Use this new switch with the /3GB switch in the Boot.ini file to tune the User-mode space to a value between 2 and 3 gigabytes (GB), with the difference (3,072 less xxxx) being returned to Kernel mode. Note that xxxx is expressed in megabytes (MB).

The following sample Boot.ini file demonstrates how to use the new switch to tune a computer to allocate 2,900 MB of User-mode virtual memory and 1,196 MB of Kernel-mode virtual memory. This increases the available kernel space by 172 MB:

[Boot Loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
[Operating Systems]
multi(0)disk(0)rdisk(0)partition(2)\WINNT="Microsoft Windows Server 2003" /fastdetect /3GB /Userva=2900

For more information about the userva tool, refer to the following Microsoft Knowledge Base article: 

http://support.microsoft.com/kb/316739

  • Save the boot.ini file and close Notepad.
  • Click OK to close each dialog box.
  • Reboot your computer.
  • During startup, select the 3GB option. If you do not select the 3GB option, the system will default to the 2GB total memory setting.

Products:

Revit Architecture;Revit MEP;Revit Structure

Versions:

2008;2009;2010;2011;2012;2013

Discuss