Troubles with Shenandoah
Simone Bordet
simone.bordet at gmail.com
Sun Apr 7 12:41:28 UTC 2019
Hi,
using 12-testing+0-builds.shipilev.net-openjdk-jdk12-b157-20190406-jdk-1233jdk-12-ga.
I'm running the CometD benchmark
(https://docs.cometd.org/current/reference/#_benchmarking), which is
basically a messaging web application running in Jetty.
Running the benchmark with Shenandoah, I don't have crashes or
exceptions on the server, but many messages are not relayed back to
the clients.
I suspect there is something wrong with Shenandoah because the
benchmark succeeds with G1 and ZGC on 20+ minutes runs, but fails with
Shenandoah with just 1 minute runs - the only change is the GC I'm
using.
I have 2 questions:
A) is the version I'm using a "stable" enough version (it's this one:
https://builds.shipilev.net/openjdk-jdk12/openjdk-jdk12-latest-linux-x86_64-release.tar.xz)
B) is there any command line option that I can set to make Shenandoah
verify that it's doing the job correctly? Or maybe use some debug
version of Shenandoah that could help identify if there is an issue?
I will happily re-run the benchmark with your suggestions.
Thanks!
----
-XX:InitialHeapSize=17179869184 -XX:MaxHeapSize=51539607552
-XX:+PrintCommandLineFlags -XX:ReservedCodeCacheSize=251658240
-XX:+SegmentedCodeCache -XX:+UnlockExperimentalVMOptions
-XX:+UseShenandoahGC
[2019-04-07T06:45:36.007-0500][info][gc] Consider
-XX:+ClassUnloadingWithConcurrentMark if large pause times are
observed on class-unloading sensitive workloads
[2019-04-07T06:45:36.010-0500][info][gc,init] Regions: 3072 x 16384K
[2019-04-07T06:45:36.010-0500][info][gc,init] Humongous object threshold: 16384K
[2019-04-07T06:45:36.010-0500][info][gc,init] Max TLAB size: 16384K
[2019-04-07T06:45:36.010-0500][info][gc,init] GC threads: 23 parallel,
23 concurrent
[2019-04-07T06:45:36.010-0500][info][gc,init] Reference processing: parallel
[2019-04-07T06:45:36.010-0500][info][gc ] Heuristics ergonomically
sets -XX:+ExplicitGCInvokesConcurrent
[2019-04-07T06:45:36.010-0500][info][gc ] Heuristics ergonomically
sets -XX:+ShenandoahImplicitGCInvokesConcurrent
[2019-04-07T06:45:36.010-0500][info][gc,init] Shenandoah heuristics: adaptive
[2019-04-07T06:45:36.012-0500][info][gc,ergo] Pacer for Idle. Initial:
983M, Alloc Tax Rate: 1.0x
[2019-04-07T06:45:36.012-0500][info][gc,init] Initialize Shenandoah
heap with initial size 16384M
[2019-04-07T06:45:36.012-0500][info][gc,init] Safepointing mechanism:
global-page poll
[2019-04-07T06:45:36.012-0500][info][gc ] Using Shenandoah
--
Simone Bordet
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless. Victoria Livschitz
More information about the shenandoah-dev
mailing list