I have a 32-bit Windows server with 4 GB of RAM.
From reading various articles on the web, I reached the understanding that enabling the /3GB switch in boot.ini would mean that of my 4 GB of RAM, 3 could be allocated to user mode memory. Without the switch, only 2 GB would ever be used for user mode, with the system reserving the other 2 GB for kernel mode use.
However, this article by Mark Russinovich has made me think that my previous conclusion was wrong - all the /3GB switch does is allow processes to use 3 GB of their 4 GB address space instead of only 2GB.
Let's set up a couple of scenarios to illustrate how I think it works and when the switch would be useful:
1: a database server - one memory intensive process
Without the /3GB switch the database process will only be able to use 2 GB of memory. With the /3GB switch the process will be able to allocate up to 3 GB. The switch is useful in this scenario.
2: a server running 4 processes that each consume 750 MB of memory.
Using the /3GB switch will not bring any advantages - each process can already allocate all the memory that it needs and the system can hold all of the processes in physical memory already.
Am I right or wrong? If I'm wrong, how does the /3GB switch really effect physical memory usage?