On 10/11/05, Alan Stange <[EMAIL PROTECTED]> wrote:
Alex Turner wrote:
> Realise also that unless you are running the 1.5 x86-64 build, java
> will not use more than 1Gig, and if the app server requests more than
> 1gig, Java will die (I've been there) with an out of memory error,
> even though there is plenty of free mem available. This can easily be
> cause by a lazy GC thread if the applicaiton is running high on CPU usage.
On my side of Planet Earth, the standard non-x64 1.5 JVM will happily
use more than 1G of memory (on linux and Solaris, can't speak for
Windows). If you're running larger programs, it's probably a good idea
to use the -server compiler in the JVM as well. I regularly run with
-Xmx1800m and regularly have >1GB heap sizes.
The standard GC will not cause on OOM error if space remains for the
requested object. The GC thread blocks all other threads during its
activity, whatever else is happening on the machine. The
newer/experimental GC's did have some potential race conditions, but I
believe those have been resolved in the 1.5 JVMs.
Finally, note that the latest _05 release of the 1.5 JVM also now
supports large page sizes on Linux and Windows:
-XX:+UseLargePages this can be quite beneficial depending on the
memory patterns in your programs.