On 11/2/2018 3:23 PM, Shawn Heisey wrote:
Process started Sep27, with G1 tuning, but no parameters setting specific generation sizes.

Another followup.

Here's the GC logfiles currently found in the logs directory:

-rw-rw-r--. 1 solr solr 20973298 Oct  3 04:08 solr_gc.log.0
-rw-rw-r--. 1 solr solr 20974540 Oct  8 06:33 solr_gc.log.1
-rw-rw-r--. 1 solr solr 20971712 Oct 14 16:22 solr_gc.log.2
-rw-rw-r--. 1 solr solr 20971895 Oct 20 05:42 solr_gc.log.3
-rw-rw-r--. 1 solr solr 20971661 Oct 24 15:18 solr_gc.log.4
-rw-rw-r--. 1 solr solr 20974231 Oct 29 05:47 solr_gc.log.5
-rw-rw-r--. 1 solr solr 17246462 Nov  2 18:15 solr_gc.log.6.current

Only files numbered 1 through 6 contain the -XX:MaxNewSize parameter.  The info in the previous message was obtained from the last logfile, the one with current in the name.

The first logfile, solr_gc.log.0, does NOT contain that parameter.  Here's the top of the logfile and the first log entry, showing consistency between the first log and the the info output by the ps command -- but the -XX:MaxNewSize parameter is not present:

Java HotSpot(TM) 64-Bit Server VM (25.162-b12) for linux-amd64 JRE (1.8.0_162-b12), built on Dec 19 2017 21:15:48 by "java_re" with gcc 4.3.0 20080428 (Red Hat 4.3.0-8) Memory: 4k page, physical 16268024k(8771152k free), swap 2098172k(2098096k free) CommandLine flags: -XX:+AggressiveOpts -XX:G1HeapRegionSize=8388608 -XX:GCLogFileSize=20971520 -XX:InitialHeapSize=8328839168 -XX:InitiatingHeapOccupancyPercent=75 -XX:+ManagementServer -XX:MaxGCPauseMillis=250 -XX:MaxHeapSize=8328839168 -XX:NumberOfGCLogFiles=9 -XX:OnOutOfMemoryError=/data/solr/bin/oom_solr.sh 8983 /data/solr-home/logs -XX:+ParallelRefProcEnabled -XX:+PerfDisableSharedMem -XX:+PrintGC -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+PrintTenuringDistribution -XX:ThreadStackSize=256 -XX:+UseCompressedClassPointers -XX:+UseCompressedOops -XX:+UseG1GC -XX:+UseGCLogFileRotation -XX:+UseLargePages 2018-09-27T01:11:19.136-0400: 0.518: Total time for which application threads were stopped: 0.0001694 seconds, Stopping threads took: 0.0000184 seconds

So that means that in the first GC logfile written by Java, that parameter wasn't there, but then it was added for the rest of the logfiles.  Which is REALLY odd.

My best guess is that G1GC eventually decided on the size of the eden generation that it wanted to use, and then added the explicit commandline option for that size to the active arguments.  I had thought that G1 was capable of adjusting the generation sizes on the fly at any time ... but the five logs that contain the -XX:MaxNewSize option all have it set to the same value, which is 4991221760 bytes.  It has been set to that value for at least a month.

Thanks,
Shawn

_______________________________________________
hotspot-gc-use mailing list
hotspot-gc-use@openjdk.java.net
http://mail.openjdk.java.net/mailman/listinfo/hotspot-gc-use

Reply via email to