Jon Masamitsu Jon.Masamitsu at Sun.COM
Fri Dec 12 09:55:20 PST 2008

If you have 2 VM's running, yes, it is a good idea to specify the
number of GC threads. 4 per VM is a safe number but might
not be optimum depending on your primary requirements.
If you want to maximize throughput (perhaps at the cost
of some longer pauses), you could try a larger number (6?).
If you want more regular GC pauses, stick with 4.

I don't think this is the cause of
“OutOfMemoryException GC overhead limit exceeded”
but could be wrong.

Can you send a log with this error?

Victor Cheung wrote On 12/12/08 08:40,:

> I don’t know why this didn’t hit me until now. But our server is
> running 2 JBoss services like so:
> service jboss-app1 start
> service jboss-app2 start
> Therefore I’m assuming that’s 2 JVMs running (I will confirm this soon
> with the admin), and since the young generation collector is defaulted
> to use the –XX:+UseParallelGC, I should set the
> -XX:ParallelGCThreads=4 for both of the applications given that they
> are both running on the same 8CPU machine. Is this correct?
> This thread
> (
> says that:
> Having many more net GC worker threads than cores will often increase
> GC termination times because workers with work to do will not get time on
> a CPU. This can appear as either longer (or more erratic) GC pauses,
> that might translate into erratic application-level response times.
> Could this be a possible cause of “OutOfMemoryException GC overhead
> limit exceeded” errors?
> victor
>hotspot-gc-use mailing list
>hotspot-gc-use at

hotspot-gc-use mailing list
hotspot-gc-use at

More information about the hotspot-gc-dev mailing list