FutureFantasyDesign opened this issue on Mar 12, 2007 · 31 posts
kuroyume0161 posted Mon, 12 March 2007 at 10:42 PM
No, 32-bit apps aren't normally capable of this!! The 3GB switch gives the OS 3GB not the application. If the application can address 3GB, it can use it. 32-bit applications cannot work with anything greater than LONG (4 Byte) addresses - and it won't happen unless someone recompiles the application to work with VLONG.
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.
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:
And:
Executables that can use the 3-GB address space are required to have the bit IMAGE_FILE_LARGE_ADDRESS_AWARE set in their image header. If you are the developer of the executable, you can specify a linker flag (/LARGEADDRESSAWARE).
Very, very few 32-bit applications actually do this. This has to be set in the build (compile/link) for the application. Also note the limitation on VM for 32-bit processes. It's all there is red italics and white... ;)
C makes it easy to shoot yourself in the
foot. C++ makes it harder, but when you do, you blow your whole leg
off.
-- Bjarne
Stroustrup
Contact Me | Kuroyume's DevelopmentZone