RFR: 8324995: Shenandoah: Skip to full gc for humongous allocation failures [v3]
Kelvin Nilsen
kdnilsen at openjdk.org
Thu Feb 8 18:37:04 UTC 2024
On Wed, 31 Jan 2024 21:50:06 GMT, William Kemper <wkemper at openjdk.org> wrote:
>> Shenandoah degenerated cycles do not compact regions. When a humongous allocation fails, it is likely due to fragmentation which is better addressed by a full gc.
>
> William Kemper has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix typo in comment
Meanwhile, I've done some analysis of the attached GC log to better understand tradeoffs between doing degenerated GC vs. Full GC when mutator experiences out-of-memory during allocation request. The command used for this run is:
echo Run TradiShen tip with memory size $i with 4s customer period
>&2 echo Run TradiShen tip with memory size $i with 4s customer period
~/github/jdk.2-1-2024/build/linux-x86_64-server-release/jdk/bin/java \
-XX:+UnlockExperimentalVMOptions \
-XX:+UseTransparentHugePages \
-XX:-ShenandoahPacing \
-XX:+AlwaysPreTouch -XX:+DisableExplicitGC -Xms$i -Xmx$i \
-XX:+UseShenandoahGC \
-Xlog:"gc*=info,ergo" \
-Xlog:safepoint=trace -Xlog:safepoint=debug -Xlog:safepoint=info \
-XX:+UnlockDiagnosticVMOptions \
-jar ~/github/heapothesys/Extremem/target/extremem-1.0-SNAPSHOT.jar \
-dInitializationDelay=45s -dDictionarySize=16000000 -dNumCustomers=28000000 \
-dNumProducts=64000 -dCustomerThreads=2000 -dCustomerPeriod=4s -dCustomerThinkTime=1s \
-dKeywordSearchCount=4 -dServerThreads=5 -dServerPeriod=5s -dProductNameLength=10 \
-dBrowsingHistoryQueueCount=5 \
-dSalesTransactionQueueCount=5 \
-dProductDescriptionLength=64 -dProductReplacementPeriod=25s -dProductReplacementCount=5 \
-dCustomerReplacementPeriod=30s -dCustomerReplacementCount=1000 -dBrowsingExpiration=1m \
-dPhasedUpdates=true \
-dPhasedUpdateInterval=60s \
-dSimulationDuration=20m -dResponseTimeMeasurements=100000
with $i equal to 27g
[capture.27g.tradishen.log](https://github.com/openjdk/jdk/files/14213319/capture.27g.tradishen.log)
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17638#issuecomment-1934715864
More information about the hotspot-gc-dev
mailing list