Skip to Main Content

Java HotSpot Virtual Machine

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Minor GC Duration plateaus until Major GC

843811Feb 22 2005 — edited Feb 23 2005
We recently pushed our web app to 1.5. Since then we've noticed unusual behaviour in minor garbage collection durations.

Our app uses a homebrew object store that requires large amounts of memory avail to the jvm. My problem is that when the app suddenly forces a large amount of memory into the old gen the minor GC's shoot up as well, and they only come back down to normal after a major GC. The frequency of minor GC's seem to be the same. Why is the size of the old generation impacting minor collection duration?

The normal minor gc duration is around 70ms but during these plateaus they will go as long as 8000ms (8 seconds!) per minor gc.

Here's our important config options:
-Xss1048576
-Xms1000M
-Xmx3000M
-Xmn300M
-XX:PermSize=64m
-XX:MaxPermSize=64m
-XX:MaxTenuringThreshold=6
-XX:SurvivorRatio=4
-XX:GCTimeRatio=14
-XX:MaxGCPauseMillis=200
-XX:+UseParNewGC
-XX:ParallelGCThreads=2

BTW - Yeah I know ParNewGC is almost equally as effective as the default when only using 2 cpus... (I wanted to try using MaxGCPauseMillis but that doesn't seem to help either) I also wanted to make sure it works since we are planning to move to 4 cpus soon.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 23 2005
Added on Feb 22 2005
3 comments
269 views