Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

The 3GB Switch

peterbrown77

New member
I had a nasty Mechanica structure problem to solve last week, so I enabled the 3GB switch on my Precision 650/Win XP/3GB machine. Since then, I've noticed some odd windows problems, such as 'insufficient system resources' errors when browsing the drive or server. My CD burner is also giving me trouble for the first time.



Does anyone have any experience with these issues? I probably should just turn it off, since the 2GB native amount is sufficient for most everything I do.



Regards

Peter Brown
 
I use the same machine and I experienced the same thing. Did you just add /3GB to the boot.ini?

The problem did not recur when I added the line



BOOTCFG /Raw /3GB /A /ID 1



as recommended by TPI111330 as referred to by TPI124474.

Our MIS also bridged the connection of the LAN and Firewire.
 
I am also trying to use the /3GB switch and have the same "insufficient system resources". I added the /3GB switch in both ways 1. "/3GB" and 2. Bootcfg /Raw /3GB /A /ID 1. I also messed around my pagefile. So far no luck. Trying to convince my management to go with a 64 bit system but not luck also. Any help would be appreciated.


Thanks
smiley19.gif
 
From what I've read on the subject :


Standard Win2k and XP can handle 4 GB of memory and splits this in 2 GB for OS and 2 GB for applications. Setting the switch divides memory in 1 + 3 GB. It seems that in cases where the 3GB-switch makes sense the same setting can also make Win run into trouble because it needs memory for internal householding also. And 1 GB could then be to little. Note that the total amount of memory effectively used and the memory claimed may be 2 different things. If the OS "thinks" that it will need 256 MB to provide for some functionality then this amount will be reserved whether it is effectively used or not.


Alex
 
AHA-D is correct... If you are getting "Insufficient System Resources" errors or other strange behavior, then 1GB of Virtual Memory is not quite enough for your OS.


the "straight" 3GB option allocates 3GB to programs and 1GB to the Kernel. However, this can be tweaked using an additional parameter in the boot.ini file called USERVA.


Here is the line I use from my boot.ini:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro 3GB-2900" /fastdetect /3GB /Userva=2900 /NoExecute=OptIn


This tells XP to use the 3GB switch, but to give 2.9GB (2900MB) to programs and leave 1.1GB to the kernel. This extra 100MB of VM fixed the problem for me. You can adjust that number as well to suit your needs.


-Brian
Edited by: Brian_Adkins
 
Change my boot.ini per Brian_Adkins and now I am back working on my assembly and drawing. Thanks for the help.
smiley1.gif






JZ
 
Brian_Adkins could you please copy your whole boot.ini on my PM or are those lines you wrote enogh to enable 3gb switch?
 
Kinda bringing this back from the dead, but it's kinda along the same lines.

Is ProE (WF3) considered /largeaddressaware?

If so what are the switch settings that are being used.
 
Here is my entire boot.ini file...


When I boot up, I have three options.

  1. <LI>3GB tweaked to 2.9GB (default option since it's the first)
    <LI>3GB option "straight"
    <LI>standard RAM option = no 3GB</LI>


=== beware line-wrapping ===


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro 3GB-2900" /fastdetect /3GB /Userva=2900 /NoExecute=OptIn
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro 3GB" /3GB /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro std RAM config" /fastdetect


Pro/EWF2 is Large Address Aware out fo the box. Beforethat, you had to use the imagecfg.exe tool to patch xtop.exe to make it so. PTC has supplied this utility with Pro/E since rev 2001.


For more information:
https://www.ptc.com/appserver/cs/view/solution.jsp?n=111330
Edited by: Brian_Adkins
 
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.
 
Just a note on this topic.


I tried the /3GB as well and could not even boot up. After adding/Userva=2900 everything startedworking and has done so fora year now. So it seems 1.1 GB for the kernel is the correct general setting forXP.
 
use of this switch depends on the version of your pro/e


also, if you run that switch you must increase your swap file to at least double your ram


so if your ram is 2gig's in yoursetup, put your swap at 4096 min and max.. worked like a charm for me
 
Is there a way to see how much memory is being used?


If I look at the task manager performance monitor, it shows that it is only usingmax 1.5G physical memory at any one time. I enabled the 3GB switch per microsoft's instructions. It shows a total of 3.4G but only seems to use about 1G.
 
Brian_Adkins said:
AHA-D is correct... If you are getting "Insufficient System Resources" errors or other strange behavior, then 1GB of Virtual Memory is not quite enough for your OS.


the "straight" 3GB option allocates 3GB to programs and 1GB to the Kernel. However, this can be tweaked using an additional parameter in the boot.ini file called USERVA.


Here is the line I use from my boot.ini:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Pro 3GB-2900" /fastdetect /3GB /Userva=2900 /NoExecute=OptIn


This tells XP to use the 3GB switch, but to give 2.9GB (2900MB) to programs and leave 1.1GB to the kernel. This extra 100MB of VM fixed the problem for me. You can adjust that number as well to suit your needs.


-Brian

Cool! I've been having problems with my laptop failing to hibernate with a message about insufficient system resources popping up. We'll see if this helps.
 
FYI.

The /3GB switch has nothing to do with how much RAM is physically installed. Also it's not 1GB for the OS and 3GB for the applications, but up to 3GB for each application individually. Were talking about virtual memory here not RAM.

The total amount of swap that is needed should be greater than the total virtual memory needed for all running applications.

If you wanted to run 4 separate Pro/E sessions (or other hogs) each using 2.5GB you would need 2.5GB*4+1GB(os)+ some for all the misc stuff you see in the task manager, for a total of something like 10GB of SWAP.

Also, Don't let windows manage the swap size and make sure the minimum and maximum swap sizes are the same. Otherwise windows will occasionally take a vacation while it changes the size of the swap file.



Edited by: gkbeer
 
mjenkins said:
Is there a way to see how much memory is being used?


If I look at the task manager performance monitor, it shows that it is only usingmax 1.5G physical memory at any one time. I enabled the 3GB switch per microsoft's instructions. It shows a total of 3.4G but only seems to use about 1G.
There are some additional columns that can be added to the Task Manager's view.
The one you want is "VM Size", "Mem Usage" tells how much RAM is currently being used. Programs don't always need all their data in RAM all the time. What isn't in
RAM is in Virtual memory (read swap).
 
I've replaced my boot.ini with the details suggested above by Brian Adkins. It seems a little
temperamental, but when I successfully boot with one of the 3GB switch
options, Task Manager still reports the same amount of physical memory
as before (just over 3GB), and the same amount of kernel memory.

Should the change be clear from Task Manager?



Cheers,



Sam
 

Sponsor

Articles From 3DCAD World

Back
Top