JDK 5.0 Native Heap Issues?
Jon.Masamitsu at Sun.COM
Mon Aug 18 06:55:21 PDT 2008
One of the changes made in jdk6 was that the
"always promote" policy of CMS (i.e., very small
survivor spaces and maximum tenuring threshold)
was change so as to better utilize the young gen
to filter out should lived data. The change is
Search for the new flag CMSUseOldDefaults.
I've seen this change help in terms of slowing the CMS generation
growth but your suggestion of a lower initiating occupancy would
do something similar in a different way. My guess though is that
the jdk6 changes are helping more.
UseCMSCompactAtFullCollection is on by default in jdk5.
Keith Holdaway wrote On 08/18/08 05:45,:
>We have been running an endurance test suite with LoadRunner against JDK 5.0 u14 with the following VM arguments:
>et JAVA_OPTS=%JAVA_OPTS% -Xms1000m -Xmx1000m -XX:PermSize=87m -XX:MaxPermSize=87m -Xss96k -XX:-UseTLAB -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:NewSize=128m -XX:MaxNewSize=128m -Dcom.sun.management.jmxremote -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.awt.headless=true -Dsas.svcs.http.max.connections=50
>And we keep seeing the following error message after 15 hours:
>Exception java.lang.OutOfMemoryError: requested 655360 bytes for GrET* in C:/BUILD_AREA/jdk1.5.0_15/hotspot\src\share\vm\utilities\growableArray.cpp. Out of swap space?
>I suggested that this error is the result of native heap issues - fragmentation perhaps, and so reducing the -Xmx and -Xss and MaxPermGen would enable more native heap. This is a 32 bit Windows box, and the /3GB switch is turned on.
>The tester has added the following two VM args to enable an improvement in CMS usage, since it seems our application allocates at such a rate that CMS is overrun and Full GCs interrupt the CMS algorithm:
>But he also changed the JDK to 6.0 u7, and now the endurance test has run for 25 hrs?
>We are not sure if the success is contributed to JDK6 or to -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=40
>Also, is the -XX:+UseCMSCompactAtFullCollection a default behaviour for JDK 5.0?
>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