LARGEADDRESSAWARE Without /3Gb on 32bit os?

923 Views Asked by At

I've an application, which is compiled in 32-bit because we have some customers still in 32-bit.

We are aware that there is a limitation of 2GB of RAM that we can use.

I've recently been told that we can flag the exe application to increase this space to 3GB, this can be done with the following command on our executable:

Editbin /LARGEADDRESSAWARE (LAA)

I also found some information on the /3GB that has to be set in the boot.ini file.

My questions are:

  • Is this /3GB required on 64bits OS?
  • What can happens if we are on a 32-bit OS, without the /3GB switch, with an application with the LAA enabled? We can only use the 2GB? We will have an application crash?
  • Does this has any impact when being on a 64-bit OS?
1

There are 1 best solutions below

5
On

is a limitation of 2GB of RAM that we can use

It has nothing to do with RAM, a 32-bit process has 2 GB of address space. How you use it is up to your program, a memory-mapped file is a standard technique to get beyond the 2 GB addressing limit.

Is this /3GB required on 64bits OS?

It is not supported on a 64-bit operating system. It isn't supported on 32-bit operating systems anymore either, modern video adapters gobble up too much address space to leave enough room for the OS.

What can happens if we are on a 32bits OS

Nothing happens, you still have 2 GB of address space. If that's not enough to get the job done then you need to strongly consider changing your system requirements. There's little point left in still accommodating customers that are stuck in the previous decade, 64-bit operating systems are the norm today.

Does this has any impact when being on a 64OS ?

Yes, you'll get 4 GB of address space. The OS is no longer in the way.