4 ms·
You can boot with a special parameter to increase the available user address space to about 3GB, but that's not terribly well-supported, and you'd only want to
by pmjordan 16y ago
You can boot with a special parameter to increase the available user address space to about 3GB, but that's not terribly well-supported, and you'd only want to do that on your own servers, not expect customers to do it.
There are also explicit paging APIs which allow you to unmap ranges and later map them back in, but it's a pain. Usefulness of this is limited anyway, as physical RAM is limited to around 3GB on the client versions of Windows (Windows Server supports more via PAE).
A useful trick is to run a 32-bit process on a 64-bit version of Windows, you can get close to 4GB of address space that way. No need for special boot flags.
For all of these cases, your executable needs a special "big address space" flag set.
FWIW, most x86 Linux kernels set aside 3GB for user space.