G1 performance

Adam Hawthorne adamh at basis.com
Mon Oct 18 14:01:40 PDT 2010


Hi all,

Over the weekend, we created a test to try to reproduce our pause time
issues I posted about last week so we could be more confident in our
recommendation to the customer.  While I had the machine provisioned, I ran
our test with G1 .  I'm afraid the results were quite poor for our
application.  I have this machine for the next week, and I'll be trying out
different test configurations, but I'd like to continue to test G1 while I
have the machine available.  Is there more information about tuning G1?  Our
test box is 64-bit Linux, with 6u22 installed.  I tried two different
configurations.

-Xms4g -Xmx4g -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:NewSize=600m
-XX:MaxGCPauseMillis=400 -XX:GCPauseIntervalMillis=3000 -XX:MaxPermSize=128m
-server -XX\:+PrintGCDetails -XX\:+PrintGCTimeStamps -Xloggc:gc.log

WithNewSize.log<https://sites.google.com/a/basis.com/adam/files/WithNewSize.log?attredirects=0&d=1>

When that produced many long Full GC's, I tried decreasing the pause
interval and removed the NewSize setting:

-Xms4g -Xmx4g -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
-XX:MaxGCPauseMillis=400 -XX:GCPauseIntervalMillis=2000 -XX:MaxPermSize=128m
-server -XX\:+PrintGCDetails -XX\:+PrintGCTimeStamps -Xloggc:gc.log

NoNewSize.log<https://sites.google.com/a/basis.com/adam/files/NoNewSize.log?attredirects=0&d=1>

The result was that there were a lot of Full GC's each taking about 7
seconds.  Young GC's performed well (except one of the first ones).  Do I
just need to reduce the pause interval, assuming the pause time requirement
is fixed?

In contrast, CMS was able to keep all pause times below 300ms with the same
test, with about 25% GC overhead.

I also tried various combinations of:

-XX:+G1YoungGenSize=600m -XX:+G1ParallelRSetUpdatingEnabled
-XX:+G1ParallelRSetScanningEnabled

and the JVM would not start with any of these options.  Did the names change
in a recent release?  If so, can someone send the new options?  It would
also be helpful if the following document could be updated:

http://www.oracle.com/technetwork/java/javase/tech/g1-intro-jsp-135488.html

If anyone is interested, I can run more tests with more logging, and I can
run the test again with other Java versions.

Adam

--
Adam Hawthorne
Software Engineer
BASIS International Ltd.
www.basis.com
+1.505.345.5232 Phone
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20101018/98d6bb00/attachment.html 
-------------- next part --------------
_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use at openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use


More information about the hotspot-gc-dev mailing list