Solution Details - TPI
Number
111330
Type
TPI
Created Date
01-Nov-2001
Last Updated
30-May-2006
Title
Increasing The Per-Process Memory Limit in Windows XP Professional (32-bit) for Pro/ENGINEER via Microsoft's /3GB switch.
Details
Description
This document describes the PTC-supported Microsoft procedure for enabling larger process memory addressing under Windows XP Professional (32-bit). This procedure outlined in this document for Windows XP Professional (32-bit) can be used with Pro/ENGINEER 2001 Datecode 2001440 and later. This may be important for some very large assemblies and other situations with high memory requirements.
32-bit operating systems are limited to a maximum of 4 gigabytes (GB) of memory addressing. The actual amount of memory that a single 32-bit application running on a 32-bit operating system can access is generally less than 2GB and closer to 1.5GB (as reported by Windows Task Manager Mem Usage). For an accurate measurement, monitor the xtop.exe process Virtual Bytes counter with the Windows Perforamance Monitor (perfmon.exe). The procedure outlined in this document will enable nearly 3GB to be used for a single application.
64-bit operating systems do not have this same memory limitation and are therefore a more permanent alternative for very large memory requirements. Windows 64-bit architectures are supported beginning with Pro/ENGINEER Wildfire 2.0 M160.
Before using this procedure, one should be aware that there are many techniques within Pro/ENGINEER for reducing the memory requirements of large assemblies, such as simplified representations. These techniques can be found within the Pro/ENGINEER Help documentation, within this PTC TS knowledge database, or through PTC Global Services (by contacting your local PTC Sales representative). Using these techniques is usually a preferable approach because they can significantly improve Pro/ENGINEER's performance (that is, reduce the time to regenerate or perform other operations).
Additional Information
Procedure
-------------
The following describes the Microsoft's recommended procedure for increasing the per-process memory limit to 3 GB.
Before starting, please read the following Microsoft knowledge base articles:
"Driver May Not Be Loaded with the /3GB Switch"
[url]http://support.microsoft.com/default.aspx?scid=kb;en-us;Q319 043[/url]
"Windows XP SP1 May Not Start with the /3GB or /USERVA Switch"
[url]http://support.microsoft.com/default.aspx?scid=kb;en-us;Q328 269[/url]
*** Please note that improper modification of boot.ini can render the operating system inoperable. PTC assumes no responsibility for corruption of boot.ini by improper use of BOOTCFG or manual editing. Users will do so at their own risk***
1. Modify the boot.ini on the workstation to include the /3GB switch using BOOTCFG
Windows XP has added a tool called BOOTCFG that can be used to edit the boot.ini file (rather than manually editing the boot.ini file). For more information on BOOTCFG, see:
[url]http://support.microsoft.com/default.aspx?scid=kb;en-us;Q291 980[/url]
The following technique can be used to add the /3GB switch to the boot.ini file. From a command prompt, enter the following to add the 3GB switch to the end of the first line of the operating system entry in the boot.ini file (requires administrative privileges):
BOOTCFG /Raw "/3GB" /A /ID 1
Where:
/Raw Specifies the OS options for the boot entry. The previous OS options will be modified.
"/3GB" The 3GB switch
/A Specifies that the OS options entered with the /Raw switch will be appended to the existing OS options.
/ID The boot id. It specifies the boot entry id in the OS Load Options section of the boot.ini file to add the OS options to. The boot entry ID number can be obtained from performing the command: BOOTCFG /Query (this displays the contents of the boot.ini file) at the command prompt.
A reboot is required after editing the boot.ini file. Verify after reboot that the /3GB switch has been added to the boot.ini file. The computer's total virtual memory must then be increased to at least 3 GB in order to enable the switch.
2. Install Pro/ENGINEER locally and patch using IMAGECFG
NOTE: This step is no longer required starting with Pro/E Wildfire 2.0.
Perform a local Pro/ENGINEER installation of Release 2001, datecode 2001360 or later. Make sure you create a backup copy of <Pro/ENGINEER_loadpoint>/<machine_type>/obj/xtop .exe before patching so you can restore normal operation should the file become unusable.
Next, patch <Pro/ENGINEER_loadpoint>/<machine_type>/obj/xtop .exe using IMAGECFG.
As of Release 2001, build 2001440 or later of Pro/ENGINEER, IMAGECFG can be found in: <Pro/ENGINEER_loadpoint>/<machine_type>/obj directory. Imagecfg is also available in the Windows 2000 Resource Kit. For example, to modify the target file xtop.exe:
Imagecfg -l xtop.exe
At this point, the process is complete. Pro/ENGINEER should be able to access more than 2GB of memory. To check if the xtop.exe has been configured properly, run the following command:
imagecfg xtop.exe
This should return a line similar to the following:
Image can handle large (>2GB) addresses
NOTE: As of Pro/ENGINEER Wildfire 2.0, there is no need to run the imagecfg command. Wildfire 2.0 will be able to use the large address by default.
3.Removing the /3GB switch
If you wish to undo steps 1 and 2 above, follow this procedure:
Select Start, Control Panel, and double click on the System icon. Select the Advanced tab, and the Settings button in the "Startup and Recovery" section. Select the Edit button from the "System Startup" section. The boot.ini file will launch in an editor. Remove the "/3GB" from the end of the appropriate boot entry line under the [operating systems] section. Save and close the file. Select OK from the "Startup and Recovery" section. Select the Start button, select Run, and enter "msconfig" and select OK. Select the BOOT.INI tab and verify that the change to the boot.ini file was made. Reboot the computer.
Restore your original version of xtop.exe (prior to the IMAGECFG).
Pro/INTRALINK Notes
----------------------------
PTC Technical Support has officially certified Pro/INTRALINK 3.4 M020 and later for use with the /3GB switch. Earlier releases of Pro/INTRALINK have not been certified, but there are also no known issues with the /3GB switch when using these earlier releases.
Related Issues
------------------
Ensure the physical size of the page file on the system matches that specified in the Virtual Memory dialog. Please refer to TAN 131021.