PDA

View Full Version : Ah, that /3GB switch again?


belushy
10-03-2007, 03:29 PM
Windows XP Professional and Windows Server 2003 Memory Support.
The maximum amount of memory that can be supported on Windows XP Professional and Windows Server 2003 is also 4 GB. However, Windows Server 2003, Enterprise Edition supports 32 GB of physical RAM and Windows Server 2003, Datacenter Edition supports 64 GB of physical RAM using the PAE feature.

The virtual address space of processes and applications is still limited to 2 GB unless the /3GB switch is used in the Boot.ini file. When the physical RAM in the system exceeds 16 GB and the /3GB switch is used, the operating system will ignore the additional RAM until the /3GB switch is removed. This is because of the increased size of the kernel required to support more Page Table Entries. The assumption is made that the administrator would rather not lose the /3GB functionality silently and automatically; therefore, this requires the administrator to explicitly change this setting.

The /3GB switch allocates 3 GB of virtual address space to an application that uses IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header. This switch allows applications to address 1 GB of additional virtual address space above 2 GB.
http://www.msxfaq.net/konzepte/4gb03.gifhttp://www.msxfaq.net/konzepte/4gb04.gif

The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file. The following example shows how to add the /3GB parameter in the Boot.ini file to enable application memory tuning:


[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="......?" /fastdetect /3GB

Note: "......?" in the previous example can be the programmatic name of any of the following operating system versions:

you could use two lines first always are default, the timeout is the time how long you are able to select each option

here is my config.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Uservalue 2800GB" /noexecute=optin /fastdetect /USERVA=2800
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 3GB Switch" /noexecute=optin /fastdetect /3GB
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect


For "USERVA=2800 " this option is Newer than /3GB
Please read the addon further down!!
Works with Nvidia Cards with latest drivers on my Workstation
/3GB Works good on a macpro hardware
!! please consider the warnings!!!


Warning!
This operation can cause a non booting System please be carefull what you do
Backup your files
Don't do this on a running Project AND consider a Administrator
If you still want this
I suggest to duplicate the original configuration line so you can easily switch back
!!! Also some drivers might not work after adding this boot option

Operating Systems and PAE Support
Windows Server 2003
Windows Server 2003, Enterprise Edition
Windows Server 2003, Datacenter Edition
Windows 2000 Advanced Server
Windows 2000 Datacenter Server
Windows NT Server 4.0, Enterprise Edition
here are some links to the concept

http://msdn2.microsoft.com/en-us/library/ms791558.aspx
http://www.msxfaq.net/konzepte/4gb.htm


On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits.

addon

If you use the /3GB switch in the Boot.ini file to support a program that can use more than 2 GB of virtual address space, a driver may not be loaded when Windows starts. This is more likely to occur with video adapter drivers. This is especially likely to occur if the hardware device contains a lot of onboard random access memory (RAM) that is used as a buffer.

This problem occurs because the driver is trying to reserve a large block of contiguous virtual memory addresses in the kernel address space to map the device's buffer. When you are use the /3GB switch, the memory that is available to the kernel is halved. The kernel might not be able to allocate a large enough block of memory to satisfy the driver's request.

To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
322389 (http://support.microsoft.com/kb/322389/EN-US/)
How to Obtain the Latest Windows XP Service Pack

The English version of this fix should have the following file attributes or later:

Date Time Version Size File name
-------------------------------------------------------
10-Jun-2002 15:44 5.1.2600.48 1,836 KB Ntoskrnl.exe
10-Jun-2002 15:44 5.1.2600.48 1,804 KB Ntkrnlmp.exe
10-Jun-2002 15:44 5.1.2600.48 1,858 KB Ntkrnlpa.exe
10-Jun-2002 15:44 5.1.2600.48 1,831 KB Ntkrpamp.exe



After you install this hotfix, you can use the new /USERVA memory-management switch. You can use this switch to tune the memory that is allocated above 2 GB to User mode and taken from the kernel. By doing this, you can find a number that permits the driver to be loaded.

For example, using the /USERVA=2800 switch in the Boot.ini file configures a User mode virtual address space of 2800 MB and a Kernel mode virtual address space of 1196 MB.

Rich_Art
10-03-2007, 03:33 PM
Thanks, always handy to know.

Peace,
Rich_Art. :wink:

Laurent
10-03-2007, 11:38 PM
In real life make that a 1.5Gb max before you get the "not enough memory" post. I don't know what windows use the remaining 500Mb for but you'll never get close to 2Gb allocated under XP.
what happens if you run Vrayforc4d with XP64?

belushy
10-04-2007, 09:01 AM
yes win Xp64 or Enterprise Server 2003 ...
are able to manage more Ram
and more ram is good for vray (-;
the problem is some hardware vendors have stopped their developments for drivers with winx64.
For example Logitech keyboards won't work on xp64

what i haven't tried was windows Vista but the rumors held me from making experiments.
and since i am german the serverversions cost a lot and are often unable to use germankeyboards without tricks and and...


my post here is for those who have memory problems under Winxp32 and to explain this opportunity of this boot option.
I talked to stefan and we came to the point that i post this for all people who are aware what they are doing and don't want to invest the time researching.
but all this is not a official recommendation from VRAYFORC4D
because you can screw up your system

and last but not least
the 64bit version of VrayforC4d will soon be ready so this helps for the time untill then

cheers belushy

afternooncoffeeboy
10-04-2007, 11:26 AM
For example Logitech keyboards won't work on xp64

i think every logitech keyboard is workin with xp/vista 64...at least for me ;)

belushy
10-05-2007, 08:29 AM
i think every logitech keyboard is working with xp/vista 64...at least for me ;)
I have seen on WINXP64 that some drivers are not available in their full functionality like wacom has one but very old one.

so to say its not so comfortable as workstation but good as renderslave

but all this is hypotetical since VrayforC4d 64bit is not released by know.

Ti
10-15-2007, 09:54 AM
Vray 32bit (today version) + WinXP64 + 4 gb ram?

Who used?
I have 2gb and vray needs more. Will current version of Vray supports 4gb?

Thank you!

belushy
10-15-2007, 02:09 PM
The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file. The following example shows how to add the /3GB parameter in the Boot.ini file to enable application memory tuning:

here is my config.


[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOW S
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional Uservalue 2800GB" /noexecute=optin /fastdetect /USERVA=2800
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional 3GB Switch" /noexecute=optin /fastdetect /3GB
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
For "USERVA=2800 " this option is Newer than /3GB
Please read the addon further down!!
Works with Nvidia Cards with latest drivers on my Workstation
/3GB Works good on a macpro hardware
!! please consider the warnings!!!


Warning!
This operation can cause a non booting System please be carefull what you do
Backup your files
Don't do this on a running Project AND consider a Administrator
If you still want this
I suggest to duplicate the original configuration line so you can easily switch back
!!! Also some drivers might not work after adding this boot option

On Windows XP, some drivers, especially video adapter drivers with onboard RAM, cannot run with the /3GB parameter because they require more address space than the 1 GB kernel address space permits.

addon

If you use the /3GB switch in the Boot.ini file to support a program that can use more than 2 GB of virtual address space, a driver may not be loaded when Windows starts. This is more likely to occur with video adapter drivers. This is especially likely to occur if the hardware device contains a lot of onboard random access memory (RAM) that is used as a buffer.

This problem occurs because the driver is trying to reserve a large block of contiguous virtual memory addresses in the kernel address space to map the device's buffer. When you are use the /3GB switch, the memory that is available to the kernel is halved. The kernel might not be able to allocate a large enough block of memory to satisfy the driver's request.

To resolve this problem, obtain the latest service pack for Windows XP. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
322389 (http://support.microsoft.com/kb/322389/EN-US/)
How to Obtain the Latest Windows XP Service Pack

The English version of this fix should have the following file attributes or later:

Date Time Version Size File name
-------------------------------------------------------
10-Jun-2002 15:44 5.1.2600.48 1,836 KB Ntoskrnl.exe
10-Jun-2002 15:44 5.1.2600.48 1,804 KB Ntkrnlmp.exe
10-Jun-2002 15:44 5.1.2600.48 1,858 KB Ntkrnlpa.exe
10-Jun-2002 15:44 5.1.2600.48 1,831 KB Ntkrpamp.exe



After you install this hotfix, you can use the new /USERVA memory-management switch. You can use this switch to tune the memory that is allocated above 2 GB to User mode and taken from the kernel. By doing this, you can find a number that permits the driver to be loaded.

For example, using the /USERVA=2800 switch in the Boot.ini file configures a User mode virtual address space of 2800 MB and a Kernel mode virtual address space of 1196 MB.

just use it as described
first use /3gb option if this does not work because of drivers user/userva=xxxx
allways dublicate your original bootoption line

glass.use
10-15-2007, 11:58 PM
thanks really helpful,
does it support windows vista?