Jon.Masamitsu at Sun.COM
Fri Dec 12 12:00:21 PST 2008
Does that file have a GC log in it? I didn't see that info
and I meant to ask for a GC log.
In general the maximum size of the heap that you need
depends on the amount of live data you have. In the
sense that more cpu's means more application threads
creating more objects, yes, more cpu's means you
need a larger heap. Beyond that I don't have
any general suggestion of how much memory per
Victor Cheung wrote On 12/12/08 10:57,:
>I've attached our log file for you. Also, do you know if the Xmx setting should be based on a memory per CPU calculation? (So, 8CPU 32GB should set at most Xmx=4G)
>From: Jon.Masamitsu at Sun.COM [mailto:Jon.Masamitsu at Sun.COM]
>Sent: Friday, December 12, 2008 12:55 PM
>To: Victor Cheung
>Cc: hotspot-gc-use at openjdk.java.net
>Subject: Re: ParallelGCThreads
>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?
>>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?
>>hotspot-gc-use mailing list
>>hotspot-gc-use at openjdk.java.net
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
More information about the hotspot-gc-dev