diff --git a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java index 4b6ee086037189..7e815788376f1d 100644 --- a/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java +++ b/core/deployment/src/main/java/io/quarkus/deployment/pkg/steps/NativeImageBuildStep.java @@ -727,8 +727,12 @@ public NativeImageInvokerInfo build() { */ handleAdditionalProperties(nativeImageArgs); - nativeImageArgs.add( - "-H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime"); //the default collection policy results in full GC's 50% of the time + // Work around https://github.com/quarkusio/quarkus/issues/29275 + if (!(nativeConfig.additionalBuildArgs.isPresent() + && nativeConfig.additionalBuildArgs.get().contains("--gc=epsilon"))) { + nativeImageArgs.add( + "-H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime"); //the default collection policy results in full GC's 50% of the time + } nativeImageArgs.add("-H:+AllowFoldMethods"); if (nativeConfig.headless) {