Can 32bit Programs use the full memory of the 64bit Windows 7 OS ?
Dear Problems solvers,My questions is:Can 32bit Programs use the full memory of the 64bit Windows 7 OS (128 GbRAM)Or can they only use the memory limit set on a 32bit OS(2.7 to 3.5 Gb RAM)?Yours ever, TLS
August 11th, 2009 2:41am

Actually, I suspect it depends on how the program is written. Most 32 bit programs are written to use an 'expected maximum' amount of memory based on 32 bit binary address limits. However, there are ways around that through, what I call, memory banking. If the program is written to take advantage of that then it can use memory above the 32 bit limitation. Just how much more would depend on the program. However, having said all that, very few 32 bit programs are able to take advantage of memory above the 32 bit address limit.
Free Windows Admin Tool Kit Click here and download it now
August 11th, 2009 3:02am

The per-application limit is 2GB.
August 11th, 2009 4:59am

Yes and no.Address space for a 32bit process is 2^32=4GB but half is allocated to the kernal i.e. > x80000000 (2GB|2GB)A process maked as /LARGEADDRESSAWARE + appropriate boot options (os version dependant) allow the boundry to move to 3GB|1GB under 32bitBut when running a /LARGEADDRESSAWARE 32bit process under wow64 on x86-64 the process gets the full 4GB since the kernel is really at a very high 64bit address and wow64 is just making it look like a 32bit system.But to use more than that the app must use AWE (address window extensions API)which requires the lock pages in memory right.When an app uses AWE it allocates aBIG memory range (say 64GB) but this is locked in ram. The application then has to reserve parts of its address space with VirtualAlloc + MEM_PYSICAL flag then bank switches sections of its allocation to its virtual address space. e.g. it could look at the first 100mb and then 500mb from 9GB on from that and the last 500MB. So it can only view < 4GB (if largeaddress aware) at anytime but can keep >> 4GB in memory and can easily and (fairly) cheaply swap memory in and out of its current view. Its a bit like the old EMS expanders in DOS (god I am showing my age there) but a lot more performant.In short no unless the app is written to use AWE (e.g. SQL server 32bit) and it has enough rights granted then yes!
Free Windows Admin Tool Kit Click here and download it now
August 12th, 2009 6:36pm

Dear Oldhobo, Vistaline, and HackedOffAdmin,Thank you all for your answers. I though I was not getting any advantage using the 64bit system.Indeed the speed for rendering and editing video and audio files is quicker using Windows XP Pro.(32bit)I have tried Windows 7 32 bit, Windows 7 64bit and both fall short of my requirements.This I hope will change when more 64bit software and drivers become available - but this seems to be a chicken and egg story.I have pre-ordered Full Versions of Windows 7 which I shall probably keep in their wrappings for at least 6 months after the launch.I shall now clean my hard drive and build up XP Pro.again so I can get some work done.Thanks again for your advice and comments, much appreciated,Yours ever, TLSps the only thing I will really miss is CHESS TITANS - can we get a version for XP ?
August 13th, 2009 3:31am

I though I read you could shift the memory allocation to 3GB app and 1GB OS in the documentation somewhere. MichaelMichael vallino
Free Windows Admin Tool Kit Click here and download it now
August 18th, 2009 11:25am

The equivalent of XP's /3G switch in boot.ini is, in Windows 7, bcdedit /increaseuserva 3072. This will limit the OS to ~1G for its kernel operations, as opposed to the usual 2G/2G memory distribution.Mobile AMD64 3000+, VIA Apollo K8T800 chipset, 1 G RAM, ATIRadeonMobility 9700, 20x DVDRW, C:XPSP3 (55G),D:WIN7 (25G),F:DATA (250G)
August 18th, 2009 12:14pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics