[jboss-user] [JNDI/Naming/Network] - Re: HANamingService-OutOfMemory

PeterJ do-not-reply at jboss.com
Fri May 30 17:09:12 EDT 2008


When running a 32-bit OS, applications are limited to 4GB of addressable space. By default, the OS allocates 2GB of the address space to itself and 2GB for the application. (This is not a dividing up of the RAM, rather how the virtual address space for the application is divided up. Even if your have only 256MB of RAM, the app still has 4GB of addressable space with a 2GB/2GB split. The OS maps the virtual address space to both RAM and the swap space on disk.) The /3GB boot option in Windows causes it to change the address space allocation - the OS gets only 1GB and the app gets 3GB. Unfortunately, that leaves very little memory for the OS to do everything it needs to do, with typically a limit on the number of threads that can be allocated the limiting factor. And app servers love to create lots and lots of threads.

If I recall correctly, the above applies to both Windows and Linux, except for the name of the option. And as I said, I don't recall the option in Linux - googling should reveal it.

Note that this discussion has nothing to do with heap size. Native thread allocation does not use up heap space, so increasing that would not help. But based on the heap size you are using, I assume that your Linux box is running with the equivalent of the /3GB option set. Without that option you can usually get only a 1.5GB heap (give or take some megabytes).

By the way, what is Linux AS4? What distro?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4154789#4154789

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4154789



More information about the jboss-user mailing list