[ From Brian's email ]
I ran across the follwing message while running Java2Demo.
Java HotSpot(TM) Server VM warning: os::uncommit_memory failed
To reproduce, start Java2Demo with the attached script and the
command line shown below. Let the initial page run for a few
Full GC events then click on the "Transforms" tab. Let the
Transforms tab run for a few young GC events and then double
click on the shearing duke. The warning message is emitted
during the explicit full gc that occurs on transition from
"Transforms" to the full screen shearing duke.
It may take you a couple of trys to reproduce it. I've
annotated the verbose:gc output below to show how long
I waited on each panel.
titleist> SERVER="-server" VMARGS="-verbose:gc -XX:+UseParallelGC -XX:+UseAdaptiveSizePolicy J2Demo
titleist> VM option '+UseParallelGC'
VM option '+UseAdaptiveSizePolicy'
VM option 'SurvivorRatio=2'
[GC 12030K->11828K(24320K), 0.2984588 secs]
[GC 12865K->8582K(21632K), 0.1934660 secs]
[Full GC 8582K->5289K(25088K), 0.8249605 secs]
[GC 5602K->7577K(25536K), 0.1395987 secs]
[Full GC 7577K->5290K(28608K), 0.8449518 secs]
[GC 5571K->7706K(30464K), 0.1631672 secs]
[Full GC 7706K->5291K(34176K), 0.8660982 secs]
[GC 6097K->7723K(36288K), 0.1713467 secs]
[Full GC 7723K->5229K(39744K), 0.9833859 secs]
[GC 6020K->8892K(41856K), 0.1652116 secs]
[Full GC 8892K->5865K(43840K), 0.9092070 secs]
[GC 5881K->8441K(44096K), 0.1393264 secs]
----- Clicked on "Transforms" tab here
[Full GC 8441K->5865K(44096K), 0.8945570 secs]
[GC 12118K->9138K(44288K), 0.1503022 secs]
[GC 12331K->6025K(44288K), 0.1450511 secs]
[GC 12679K->9538K(44736K), 0.1391497 secs]
[GC 12729K->6025K(44736K), 0.1463638 secs]
[GC 13577K->10393K(45184K), 0.1382681 secs]
[GC 13587K->6045K(45184K), 0.1473715 secs]
[GC 14493K->11273K(45568K), 0.1425072 secs]
[GC 14459K->6025K(45568K), 0.1493507 secs]
[GC 15241K->12041K(45952K), 0.1452385 secs]
[GC 15229K->6025K(45952K), 0.1486466 secs]
[GC 16009K->12857K(46336K), 0.1477795 secs]
[GC 16057K->6029K(46336K), 0.1531849 secs]
[GC 14345K->13577K(46656K), 0.1521661 secs]
----- Double clicked on shearing duke here
[Full GCJava HotSpot(TM) Server VM warning: os::uncommit_memory failed
13577K->5989K(40320K), 0.9814826 secs]
[GC 6538K->14533K(37248K), 0.1594629 secs]
[Full GC 14533K->5229K(37248K), 1.0028448 secs]
[GC 17005K->14013K(37760K), 0.1564538 secs]
[GC 17014K->5482K(37888K), 0.1567147 secs]
[GC 17497K->14442K(38272K), 0.1553884 secs]
[GC 17461K->5325K(38272K), 0.1929163 secs]
[GC 17806K->14717K(38528K), 0.1588391 secs]
This can be reproduced without -XX:UseAdaptiveSizePolicy
and with -XX:-UsePerfData. I've also reproduced it with
runthese on b08 with java_g. It does not reproduce with
runthese with default, train, or concgc, though my gut
feeling is that this isn't necessarily limited to
parallelScavange.
I ran runthese against b04 and it does not occur, and the
code has been modified some time after this build. I would
have checked b05-b07, but they seem to have gone missing.
#!/bin/sh
# Java2Demo
# run the Java2D Demo in the instrumented VM
JAVA_BINARY=`which java`
JAVA_BIN=`dirname ${JAVA_BINARY}`
JAVA_HOME=`(cd "${JAVA_BIN}/.." && pwd)`
J2DEMO_JAR=${JAVA_HOME}/demo/jfc/Java2D/Java2Demo.jar
HEAP="-Xmx48m -Xmn16m -XX:SurvivorRatio=2"
java $D64 $SERVER $VMARGS $HEAP -jar $JAVA_HOME/demo/jfc/Java2D/Java2Demo.jar &