Skip to content

Commit 92d41da

Browse files
committed
[feature] Switch from Java's G1 to Z Garbage Collector
1 parent 3a11ff9 commit 92d41da

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

exist-distribution/pom.xml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -776,12 +776,15 @@
776776
</binFileExtensions>
777777
<defaultJvmSettings>
778778
<initialMemorySize>128m</initialMemorySize>
779+
<extraArguments>
780+
<extraArgument>-XX:+UseNUMA</extraArgument>
781+
<extraArgument>-XX:+UseZGC</extraArgument>
782+
<extraArgument>-XX:+UseStringDeduplication</extraArgument>
779783

780-
<!-- Option to generate JDWP debuggable app -->
781-
<!-- extraArguments>
782-
<extraArgument>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</extraArgument>
783-
</extraArguments -->
784+
<!-- Option to generate JDWP debuggable app -->
785+
<!-- extraArgument>-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005</extraArgument -->
784786

787+
</extraArguments>
785788
<systemProperties>
786789
<systemProperty>file.encoding=UTF-8</systemProperty>
787790
<systemProperty>log4j.configurationFile=@BASEDIR@/etc/log4j2.xml</systemProperty>

exist-docker/src/main/resources-filtered/Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ ENV JAVA_TOOL_OPTIONS \
8080
-Dexist.configurationFile=/exist/etc/conf.xml \
8181
-Djetty.home=/exist \
8282
-Dexist.jetty.config=/exist/etc/jetty/standard.enabled-jetty-configs \
83-
-XX:+UseG1GC \
83+
-XX:+UseNUMA \
84+
-XX:+UseZGC \
8485
-XX:+UseStringDeduplication \
8586
-XX:+UseContainerSupport \
8687
-XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE:-75.0} \

exist-docker/src/main/resources-filtered/Dockerfile-DEBUG

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ ENV JAVA_TOOL_OPTIONS \
6565
-Dexist.configurationFile=/exist/etc/conf.xml \
6666
-Djetty.home=/exist \
6767
-Dexist.jetty.config=/exist/etc/jetty/standard.enabled-jetty-configs \
68-
-XX:+UseG1GC \
68+
-XX:+UseNUMA \
69+
-XX:+UseZGC \
6970
-XX:+UseStringDeduplication \
7071
-XX:+UseContainerSupport \
7172
-XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE:-75.0} \

exist-docker/src/main/resources-filtered/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -297,9 +297,9 @@ docker run -m 600m …
297297
```
298298

299299
Lastly, this image uses a new garbage collection mechanism
300-
[garbage first (G1)](https://docs.oracle.com/javase/9/gctuning/garbage-first-garbage-collector.htm#JSGCT-GUID-ED3AB6D3-FD9B-4447-9EDF-983ED2F7A573) `-XX:+UseG1GC`
300+
[The Z Garbage Collector (https://docs.oracle.com/en/java/javase/11/gctuning/z-garbage-collector1.html)] `-XX:+UseZGC`
301301
and [string deduplication](http://openjdk.java.net/jeps/192) `-XX:+UseStringDeduplication` to improve performance.
302302

303303
To disable or further tweak these features edit the relevant parts of the `Dockerfile`, or when running the image.
304304
As always when using the latest and greatest, YMMV.
305-
Feedback about real world experiences with this features in connection with eXist-db is very much welcome.
305+
Feedback about real world experiences with these features in connection with eXist-db is very much welcome.

0 commit comments

Comments
 (0)