Author Topic: Get the most out of your Ram if you have 3gig or more in boot.ini file  (Read 10883 times)

0 Members and 1 Guest are viewing this topic.

sourdough

  • Bull Frog
  • Posts: 367
Did you know that if you have more than 2gig of ram your xp or vista can't access it unless
you do some changes to your boot.ini file.... Read on

Warning, be careful, you have administrator rights and Blessings of IT where it applies.
This is fully documented below from Autodesk and Microsoft. I just didn't know I had to do this
to get use of the ram I already have.

If this helps you and I'm glad to help get more out of your computer. If not,
don't make these changes to your machine. I'm sure you know what I mean here.
I have a backup Ghost 12 image to fall back on. So, I was 100% sure of what I was doing.

Mike



I contacted my dealer for my Civil3d/LDC 2008 and was told something from there Cad
Camp in Texas over the last few days where they are learning Civil3D 2009.... this worked on my machine I use at home/business
and thought it would be beneficial to share. As always, this isn't something to play with
unless your sure. This is my bio.ini file

[boot loader]
timeout=5
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional " /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 4GB" /4GB /fastdetect
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 3GB" /3GB /fastdetect




this line was the original:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional " /fastdetect

this allowed me if anything didn't work to use when it booted next.

I have 4 gig of ram and used this one with success:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 4GB" /4GB /fastdetect

Here are the instructions I got from my authorized autodesk dealer:


3GB switch and AutoCAD® Civil 3D®
   Publish date: May-31-2007
   ID:   TS1071001

  Applies to:

AutoCAD Civil 3D 2008
 
AutoCAD Civil 3D 2009
 

 

 

 
 


Issue
You want to know if there is a way to increase the memory usage of Civil 3D® to improve performance when working with large datasets.

Technical Solutions
By default, the Windows operating system limits the amount of physical memory available to applications to 2 GB. It reserves the remaining memory for the operating system itself. However, if you have more than 3 GB of physical memory, it is possible to increase the amount of memory available to applications, such as Civil 3D®, to 3 GB.

Autodesk has conducted some preliminary testing on this configuration and has found some improvement in performance when working with larger datasets.

To enable the 3GB switch on Windows XP

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 Microsoft® Notepad. 

5.        Save a backup copy of the boot.ini file on your computer, in case you need to revert back to the original version of the file.
Note: The contents of the Boot.ini file may vary from computer to computer.

6.        Select the following line in the boot.ini file:

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

7.        Copy (Press CTRL+C) this line and paste (Press CTRL+V) it immediately below the original.
Note: Your string may be different from the string shown. Be sure to copy the string from your boot.ini file, not the string shown here.

8.        Modify the copied line to include “ /3GB”, as shown in the following example.
Note: Do not overwrite any existing lines.

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

9.        Save the boot.ini file and exit Notepad.

10.     Click OK to close each dialog box. 

11.     Restart your computer. 

12.     During startup, select the 3GB option. If you do not select the 3GB option, the system will default to the 2GB memory setting.

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

To enable the 3GB switch on Windows Vista™

1.        Right-click Command Prompt in the Accessories program group of the Start menu. Click Run as Administrator.

2.        On the command line, enter "bcdedit /set IncreaseUserVa 3072"

3.        Restart the computer.

To turn off the 3GB switch on Windows Vista

1.        Right-click Command Prompt in the Accessories program group of the Start menu. Click Run as Administrator.

2.        On the command line, enter "bcdedit /deletevalue IncreaseUserVa"

3.        Restart the computer.

For more information on the 3GB switch, refer to the following Microsoft MSDN article:

http://msdn2.microsoft.com/en-us/library/ms791558.aspx

If you experience any problems when using the 3GB configuration, you can switch back to the original configuration.


I hope this helps those who have the horsepower in ram to see what I saw, a faster xp install. I also
have the XP SP3 RC2 refresh installed too.





LDC 2009/C3D 2010/C3D 2011/C3D 2016

Win 10 64bit

Tuoni

  • Gator
  • Posts: 3032
  • I do stuff, and things!
Quote from: http://msdn2.microsoft.com/en-us/library/ms791558.aspx
To take advantage of the 3 GB available to user-mode programs, the program must be linked with the /LARGEADDRESSAWARE option.

I think the speed improvements you saw were possibly a little to do with the fact that you expected to see speed improvements?

Seems to me for that link that all it's doing is halving the Kernel's available RAM to 1GB (intended for driver testing)...

sourdough

  • Bull Frog
  • Posts: 367
Thanks for the comment. I noticed a change in my loadup time mostly of my Civil3D and LDC 2009. It wasn't huge, but my dealer when he went to the recent cad camp for 2009 said that it was recommended for people who have more than 2 gig of ram and Civil 3D. My system is very fast to begin with. If this helps someone then great. I also have sp 3 on my wp pro so maybe the combination did some help as well. I'm using a intel q9550 @2.83GHz 1333 fsb, with 4 gig of 1066 ram... it all may be just a combination of things.. not sure.  I'm no expert on the inner workings of XP and won't touch Vista right now... again thanks for your thoughts.

Mike
LDC 2009/C3D 2010/C3D 2011/C3D 2016

Win 10 64bit

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
It would appear that one would need to add a line in there specifically for your application NOT the OS, and that the application must be able to address the higher memory, and I'm not sure if C3D is or does. Because this seems to setting aside memory for the OS and not for C3D.   Tuoni, is that your read on this as well? Not saying that giving XP more overhead is a bad thing, just trying to clarify my understanding of the matter.
/USERVA=
This switch is only supported on Windows XP and Windows Server 2003. Like the /3GB switch, this switch gives applications a larger address space. Specify the amount in MB between 2048 and 3072. This switch has the same application requirements as the /3GB switch and requires that the /3GB switch be present. Applies to 32-bit systems only.

The above from:http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx
Be your Best


Michael Farrell
http://primeservicesglobal.com/

sourdough

  • Bull Frog
  • Posts: 367
I also found this in the system properties that wasn't there before so it did make this change. It may just be that the /3G just might only be specific to a program that uses the call to Civil 3D. Maybe... would have to ask my dealer if they can ask Autodesk about this feature and why they were told to use it under the circumstance of having more than 2 gig of memory. See the Physical Address Extension... in the attachment. below

LDC 2009/C3D 2010/C3D 2011/C3D 2016

Win 10 64bit

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
I might need to find a way to benchmark this. I think a user would still get better performance on a system running a second physical disk for the Windows Page files, instead of using this switch in the boot.ini file.
Be your Best


Michael Farrell
http://primeservicesglobal.com/

sinc

  • Guest
They aren't mutually exclusive.

And for the pagefile, if adding only one additional disc drive, I would actually expect performance to be increased more by using the second drive as a data disk, and leaving the page file on the primary disc where the OS and C3D is installed.  Of course, with three discs, the best would be OS/C3D on one, data on another, and pagefile on the third, but if only two drives are involved, I would expect to get a better increase in speed by splitting up pagefile and data, rather than by splitting pagefile and OS.

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
That might be what one would expect however; if one searches the TechNet for Workstation performance tuning this is a primary task. And the OS and the swap file enjoy residing on separate physical discs. This being the case the OS, and the Application (C3D) performance are not impacted by being on the same disc. However it is the swapping of the virtual memory page file that impacts system performance the most if they are on the same disc.
For optimal performance it would indicate a 5 disc raid with the page file striped across all five disc. However most aren't going to put a 5 disc raid in their cad station when most balk at paying more than $400 (USD) for a video card. For an unscientific analysis, if your hard drive light stays on more than off, you should have another disk drive.
Be your Best


Michael Farrell
http://primeservicesglobal.com/

Tuoni

  • Gator
  • Posts: 3032
  • I do stuff, and things!
It would appear that one would need to add a line in there specifically for your application NOT the OS, and that the application must be able to address the higher memory, and I'm not sure if C3D is or does. Because this seems to setting aside memory for the OS and not for C3D.   Tuoni, is that your read on this as well? Not saying that giving XP more overhead is a bad thing, just trying to clarify my understanding of the matter.
/USERVA=
This switch is only supported on Windows XP and Windows Server 2003. Like the /3GB switch, this switch gives applications a larger address space. Specify the amount in MB between 2048 and 3072. This switch has the same application requirements as the /3GB switch and requires that the /3GB switch be present. Applies to 32-bit systems only.

The above from:http://technet.microsoft.com/en-us/sysinternals/bb963892.aspx

I'm sorry, for some reason this thread wasn't flagged in my email!

Yes, that is my read on it - the application doesn't know anything about it unless you tell it otherwise, according to the line I originally quoted from that tech doc. 

Also...
I also found this in the system properties that wasn't there before so it did make this change. It may just be that the /3G just might only be specific to a program that uses the call to Civil 3D. Maybe... would have to ask my dealer if they can ask Autodesk about this feature and why they were told to use it under the circumstance of having more than 2 gig of memory. See the Physical Address Extension... in the attachment. below
I think you're misunderstanding PAE.
Quote
In computing, Physical Address Extension (PAE) refers to a feature of x86 and x86-64 processors that allows more than 4 gigabytes (GB) of physical memory to be used in 32-bit systems, given appropriate operating system support. PAE is provided by Intel Pentium Pro and above CPUs (including all later Pentium-series processors except the 400 MHz bus versions of the Pentium M), as well as by some compatible processors such as Athlon and later models from AMD.

Also note my screenshot.

Like I say, to be perfectly honest I think this is another one of those "do x and it will make your machine run faster!" which I've been hearing since day 1 with XP - a lot of which are absolute nonsense, but very obviously show "improvement" to anyone who implements them.... except in terms of benchmarking, it really doesn't.

sinc

  • Guest
I think my favorite is people who disable the pagefile in order to improve performance.   :laugh:

sourdough

  • Bull Frog
  • Posts: 367
Morning all
    I found this tid-bit about using the 3G switch... from the help inside of of 2009 C3D:

Performance can also be improved by adding memory to your system. This is especially true when working on larger models.

The system requirements for AutoCAD require at least 512 MB of physical memory (RAM) for working in 2D. For creating and working with 3D models, at least 2 GB of RAM is required.

The size and complexity of a model often defines how efficiently an application runs. If you notice increased hard drive activity, it means that physical memory has been exceeded and data is being passed to a swap file (virtual memory).

A swap file is an area on the hard drive that Windows uses as if it were physical memory (RAM). The swap file size is basically a limit which restricts the total virtual size of the AutoCAD process. A good rule of thumb for configuring your swap file is three times the amount of physical memory on your system. This usually sets the limit high enough that AutoCAD doesn't run out of swap space.

Typically, systems are limited to a maximum of 2 GB of virtual memory. On some systems, you can set the /3GB switch that allows applications to use up to 3 GB of virtual memory. Before attempting to set the switch, you need to find out the following:

If your system supports the switch.
If other device drivers (video card, plotter drivers, etc.) may be affected if the switch is set.
How to set the switch.
Refer to the Microsoft website for details regarding the /3GB switch.

this with some work now might yield some more results, if I find something after doing this suggestion of changing the swapfile size to 3times my physical memory of 4gig should be interesting, anybody else done this step yet?

Mike



LDC 2009/C3D 2010/C3D 2011/C3D 2016

Win 10 64bit

Tuoni

  • Gator
  • Posts: 3032
  • I do stuff, and things!
<snip>

this with some work now might yield some more results, if I find something after doing this suggestion of changing the swapfile size to 3times my physical memory of 4gig should be interesting, anybody else done this step yet?
That is actually somewhat of a red herring in Windows XP,

any modern OS automatically uses virtual memory addressing (then turned into a physical RAM address by hardware), only the kernel will bypass this and address the RAM directly.  Also, AFAIK, windows will dynamically increase pagefile size if needed.

Quote from: http://support.microsoft.com/kb/555223
All processes (e.g. application executables) running under 32 bit Windows gets virtual memory addresses (a Virtual Address Space) going from 0 to 4,294,967,295 (2*32-1 = 4 GB), no matter how much RAM is actually installed on the computer.
 
In the default Windows OS configuration, 2 GB of this virtual address space are designated for each process’ private use and the other 2 GB are shared between all processes and the operating system.  Normally, applications (e.g. Notepad, Word, Excel, Acrobat Reader) use only a small fraction of the 2GB of private address space.  The operating system only assigns RAM page frames to virtual memory pages that are in use.
 
Physical Address Extension (PAE) is the feature of the Intel 32 bit architecture that expands the physical memory (RAM) address to 36 bits (see KB articles 268363 and 261988).  PAE does not change the size of the virtual address space, which remains at 4 GB, just the amount of actual RAM that can be addressed by the processor.
 
The translation between the 32 bit virtual memory address used by the code running in a process and the 36 bit RAM address is handled automatically and transparently by the computer hardware according to translation tables maintained by the operating system.  Any virtual memory page (32 bit address) can be associated with any physical RAM page (36 bit address).
I guess from this that the /3GB switch increases "2 GB of this virtual address space are designated for each process’ private use" to 3GB and decreases " the other 2 GB are shared between all processes and the operating system" to 1GB.

Can you do any benchmarking?  I'd be interested in seeing what sort of actual gain this gives, if it works.

mjfarrell

  • Seagull
  • Posts: 14444
  • Every Student their own Lesson
Yes this is a RED herring and I do not believe that it works as "advertised" nor as the intended (or believed) effects the user is suggesting it will provide.
Be your Best


Michael Farrell
http://primeservicesglobal.com/

sinc

  • Guest
So did anyone ever do any benchmark testing on this 3GB switch?

From my understanding, it MAY help, for very specific data sets.  For general usage, I would expect that, if it has any impact at all, that impact would be negative.

Setting the 3GB switch does more than cut the address space available to the Kernel in half.  It also cuts the size of many important system resources are cut by more-than-half, such as the Free Memory Page Table, which maps virtual memory to physical memory.  It also reduces key resources like the nonpaged pool, which can have dramatic effect on device drivers, among other things.

From reading Microsoft's site, it appears that this option was originally created with certain server applications in mind.  Some server-based applications like to use lots of memory, but have little need to access peripherals such as video cards.  So cutting back system resources, in favor of applications, makes sense, for those applications.  However, AutoCAD is not such an application - it actually hits various computer resources rather hard - and I would not expect it to benefit from the 3GB switch most of the time.  The exception might be certain operations involving very large data sets, where the increased address space given to C3D might improve the application performance enough to more-than-compensate for the general performance hit created by reducing the system's resources.

As another factor to consider, applications that are not "large-address aware" will ignore the extra 1GB available to them.  However, the system will still be restricted to 1GB, if that 3GB switch is set.  This can mean that, by setting the 3GB switch, you are effectively disabling (and wasting) a full GB of your RAM for almost everything you do on your computer, except for certain things in C3D.

But all this is just "theory".  Some significant benchmark testing would be required to see what is really happening, and I haven't tried doing any of that.  My instinct says the 3GB switch is not a good idea for most users, but I'm curious about what some real benchmark testing would show...

numa

  • Guest
32 bit apps can't address more than 2gb of memory.

XP can't see your 'full' 4gb of ram since it uses the top 512mb-1gb for device memory addressing.  IE, video ram.  So, if you have a machine with 512mb on the vid card, it gets carved off the top so to speak. 

64bit os can address more memory, but, since even c3d2009 is a 32bit app it is sorta wasted.  The slick thing is, is that vista will use more memory if you have it....  saw a good article on this somewhere, I'll see if I can find it, I think it's on ars-technica or anandtech or tomshardware. 

here's a good snippet... from http://www.anandtech.com/gadgets/showdoc.aspx?i=3034&p=3

"As it turns out, it's possible and actually quite easy to move the 2GB barrier by increasing the size of the user space, but at the cost of reducing the size of the kernel space. Under Windows XP, this is the fabled "/3gb" switch for boot.ini, and for Windows Vista it's the "IncreaseUserVa" option in BCDedit. By using these options applications can use more than 2GB of virtual address space (generally up to 3GB), and ideally this would be the end of the article.

Unfortunately this is not the case as there are problems on both the application and kernel side of things. On the application side, a common poor programming practice has been to always assume that an application will only be dealing with 2GB of user space; code that makes this assumption will likely error if more than 2GB of user space is actually available. This is avoidable by following proper programming practices, but as a safety precaution even with additional virtual address space allocated to user space Windows still defaults to limiting an application to 2GB. Only finally, if an application indicates to Windows that it is capable of handling more than 2GB, via the "/LARGEADDRESSAWARE" flag, may it have access to any space above 2GB.

As for the kernel, having had up to half of its space taken away must now find a way to live in a smaller space. The (in)ability of any specific system/Windows configuration to deal with this is why the 3gb switch is considered dangerous, seldom recommended, and just generally a bad idea. The biggest culprit here is drivers that run in kernel space. Like applications, they may assume that there's an entire 2GB of address space to work with, except unlike applications this space gets smaller instead of bigger."