R – IIS6 Available Memory for 32-Bit Application with Web Garden on x64 OS (32Gb Ram)

32-bit64-bitiisiis-6web-garden

We have IIS6 running on a 64-bit Windows 2003 server with 32Gb physical RAM.
Due to some older 32-bit dependencies within our .NET 3.5 ASP.NET application, we are currently forced to run our IIS worker process in 32-Bit wow64 mode which I understand gives us access to 4Gb of memory for our worker process.

My question is if we use the Web Garden setting and configure say 4 worker processes, can each worker process access 4Gb of memory each, thus giving us access to approx 16Gb of memory. Or are we stuck with the limit of 4Gb for out ASP.NET app?

Best Answer

Yes, 4GB limit is per process. Each 32 bit process running on a 64 bit kernel has 4GB private address space limit (which is, by the way, not shared with the kernel as in a 32 bit system). You can access 4x4GB=16GB of memory, however, this 16GB is not available to a single process at once. Each can only directly access its own 4GB private memory. You should use some interprocess communication medium to access memory from other processes.

Related Topic