Solved

Using /3GB or PAE with 32bit applications

Posted on 2010-09-03
9
1,021 Views
Last Modified: 2013-11-10
Hi Everyone

We have an application running on a Windows 2003 Server Enterprise 32bit. The application itself is 32bit too. The server is running on VM and has 4GB RAM allocated to it.

The application seems to be eating more and more memory! Whilst we are looking into what is causing this (memory leak, patch etc), our server guys have advised thay they can allocate more RAM to the server. BUT - they will need to use the PAE switch or 3GB switch in order for the OS and application to 'see' this extra memory.

Not being a server admin, I was hoping a memory expert could help me out here.

Firstly, does the /3GB switch actually allow for the OS/app to see more memory? I thought it only changed the allocation of virtual address memory from 2GB:2GB to 3GB:1GB app: kernal ratio?

Secondly, I guess we can use PAE, but will this help if the app is not 'PAE' aware?

Thirdly, are there any disadvantages to using PAE, or is this recommended to 'trick' the OS into seeing more than 4GB RAM?

Finally, given that the server is a VM, are there are any disadvantages from a VM perspective (assuming we have enough RAM on the host).

Many thanks in advance!
0
Comment
Question by:neil4933
  • 3
  • 2
  • 2
  • +1
9 Comments
 
LVL 5

Expert Comment

by:TechnicallyMaybe
Comment Utility
Using /3GB allocates 3GB of the virtual memory space to applications instead of the default 2.  This helps performance in systems with 4GB or more RAM.  Not going to be as fast as a 64-bit OS, but you shouldn't have any problems using /pae and /3gb
0
 
LVL 12

Accepted Solution

by:
Rant32 earned 500 total points
Comment Utility
Having more RAM available is always a good thing, but more important is that /3GB eats away 1GB of very crucial kernel memory.

If the server role is a file server, print server, Terminal Server, IIS, or has many services associated, then you should NOT use the /3GB switch because it will make your server absolutely unstable. Also be aware that the /3GB switch decreases the Non Paged Pool area maximum size from 256 MB to 128 MB which may not be enough to load all drivers for your system (I've seen serious problems with this on HP DL380 G5 servers) which causes IIS to stop accepting connections.

/PAE doesn't generally hurt, but /3GB has serious consequences.
0
 
LVL 12

Expert Comment

by:Rant32
Comment Utility
/PAE will make all physical RAM available to the OS, but it doesn't increase the maximum memory available for each 32-bit process (that is still limited to 2 GB, unless the app is AWE capable). As I said, I don't recommend adding /3GB on a production machine just to have 3GB of application memory.

If your server is running multiple instances/services/processes that use 2 GB of memory, then adding RAM and using /PAE will help, because each process can use 2GB. If the application at hand is a single process, then adding more than 4 GB of memory will not help you very much on a 32-bit platform (depending on memory requirements of other processes).
0
 

Author Comment

by:neil4933
Comment Utility
Thanks guys.

One further question - looks like PAE could be beneficial whereas /3GB could hurt us. As regards PAE, does the application need to be "PAE aware" in order to see this extra memory?

Also, from a memory point of view, how does this fit into the idea of each process having a 4GB virtual memory address space (with 2GB reserved for the app, and 2GB reserved for the OS). Does PAE actually increase this 4GB virtual address memory space? Or does it keep it at 4GB, but just allow more of them that can be translated to physical memory?
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 5

Expert Comment

by:TechnicallyMaybe
Comment Utility
No, the app does not have to be PAE aware.

PAE does not increase the virtual memory space. It simply is just able to store more info in physical memory instead of paging it off.

You'll still want to maintain a pagefile.
0
 
LVL 10

Expert Comment

by:LMiller7
Comment Utility
The /3GB is all about virtual address space and has very little to do with how much RAM the system has or how it is used. Before even contemplating this setting be sure the application is Large Address Space Aware. If it isn't the setting will be of no benefit whatsoever, while the constrained system address space may have serious implications.

If the application is aware it MAY benefit from the setting.

PAE simply allows a 32 bit system to access more than 4GB RAM. This setting has no implications for applications. There may be a small performance loss due to the extra level of address translation - 3 levels with PAE, 2 without. A 64 bit OS will always have a 4 level translation, even with less than 4GB RAM.
0
 

Author Comment

by:neil4933
Comment Utility
Thanks both..

So basically, PAE is a Win/Win situation, we don't need to check whether the app is PAE 'aware', using the switch is the best way to let a 32bit system see more than 4GB RAM (providing the OS supports it, e.g. 2003 Server Enterprise)?
0
 
LVL 5

Expert Comment

by:TechnicallyMaybe
Comment Utility
You are correct.  Also, 2003 standard supports 16GB memory.
0
 
LVL 10

Expert Comment

by:LMiller7
Comment Utility
PAE is the ONLY way a 32 bit OS can use more than 4GB of RAM.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

When we have a dead host and we lose all connections to the ESXi, and we need to find a way to move all VMs from that dead ESXi host.
David Varnum recently wrote up his impressions of PRTG, based on a presentation by my colleague Christian at Tech Field Day at VMworld in Barcelona. Thanks David, for your detailed and honest evaluation!
Teach the user how to rename, unmount, delete and upgrade VMFS datastores. Open vSphere Web Client: Rename VMFS and NFS datastores: Upgrade VMFS-3 volume to VMFS-5: Unmount VMFS datastore: Delete a VMFS datastore:
Teach the user how to configure vSphere Replication and how to protect and recover VMs Open vSphere Web Client: Verify vsphere Replication is enabled: Enable vSphere Replication for a virtual machine: Verify replicated VM is created: Recover replica…

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now