Questions tagged [shenandoah]

Shenandoah is a low pause-time garbage collector for Java. Use this tag for questions about the Shenandoah GC.

From the Wiki:

Shenandoah is the low pause time garbage collector that reduces GC pause times by performing more garbage collection work concurrently with the running Java program. Shenandoah does the bulk of GC work concurrently, including the concurrent compaction, which means its pause times are no longer directly proportional to the size of the heap. Garbage collecting a 200 GB heap or a 2 GB heap should have the similar low pause behavior.

12 questions
6
votes
2 answers

Availability of Shenandoah 2.0 in JDK

In [1, page 16] Aleksey Shipilёv says that Shenandoah 2.0 is available in JDK 13 GA. But in the Complete JDK 13 Release Notes [2] (including JDK 13 GA, JDK 13.0.1 GA, JDK 13.0.2 GA), Shenandoah is not mentioned. Question: What is the current status…
user120513
  • 531
  • 4
  • 12
4
votes
1 answer

Shenandoah 2.0 elimination of forwarding pointer

In Shenandoah 1.0 every single Object had an additional header - called forwarding pointer. Why was that needed and what is the reason that lead to its elimination in Shenandoah 2.0?
Eugene
  • 117,005
  • 15
  • 201
  • 306
4
votes
2 answers

How to enable Shenandoah Garbage Collector for OpenJDK13 on MacOS

I have the latest (13.0.1) OpenJDK on my Mac, but it does not seem to include Shenandoah. Am I crazy? I know it shipped. It works on my Linux machine. Is there a different download? Different flags? ~ $ java -XX:+UnlockExperimentalVMOptions…
sbzoom
  • 3,273
  • 4
  • 29
  • 34
1
vote
3 answers

Can't use Shenandoah GC

I can't put ShenandoahGC to work while trying to run a Java application. Regardless of what I try, the output is as follows, when invoking the java command from Terminal (or CMD): Error occurred during initialization of VM Option…
Toni Nagy
  • 133
  • 2
  • 11
1
vote
1 answer

Unrecognized VM option 'ShenandoahGCHeuristics=compact'

On mac I am trying to use Shenandoah on java with the flags: -XX:ShenandoahGCHeuristics=compact and -XX:+UseShenandoahGC and I get the same error on java 13 and 12: Unrecognized VM option 'ShenandoahGCHeuristics=compact' Error: Could not create…
sheroo
  • 11
  • 2
0
votes
0 answers

What do GC Pause and GC Cycles mean in JDK Misson Control using ZGC and ShenandoahGC?

When using Serial, Parallel or G1 GCs I can directly see their Collection Counts and accumulated times. However when using ZGC and ShenandoahGC it shows two different Counts and Times for each - for Pause and for Cycles. Which one of these is the…
0
votes
0 answers

Shenandoah GC and jcmd GC.run

I am triggering a gc cycle in shenandoah using jcmd: time ./jcmd 1637 GC.run 1637: Command executed successfully 0.49user 0.07system 0:00.57elapsed 98%CPU (0avgtext+0avgdata 47384maxresident)k 0inputs+64outputs (0major+11292minor)pagefaults…
Eugene
  • 117,005
  • 15
  • 201
  • 306
0
votes
0 answers

Shenandoah GC pause time

I am using Shenandoah GC and using Java 8 "-XX:+UseShenandoahGC -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseNUMA -XX:-UseBiasedLocking -XX:+UseLargePages -XX:ShenandoahGCHeuristics=compact -XX:+ClassUnloadingWithConcurrentMark…
VJS
  • 2,891
  • 7
  • 38
  • 70
0
votes
0 answers

JVM's GC MinHeapFreeRatio and MaxHeapFreeRatio options apparently not applied

I am trying to figure out why Shenandoah GC is not returning memory to the OS. My understanding is that MinHeapFreeRatio and MaxHeapFreeRatio when both set to a number N, would maintain the amount of free space of N% compared to total committed. In…
0
votes
0 answers

To use Shenandoah GC in Oracle JDK 16

I recently came across Shenandoah GC while working on JVM memory settings. Tried to use in one of our applications with Oracle jdk 16 version and got below error- Unrecognized VM option 'UseShenandoahGC' Error: Could not create the Java Virtual…
0
votes
1 answer

Shenandoah self healing barriers

The title pretty much says it all - what are these self healing barriers and why are they important in Shenandoah 2.0?
Eugene
  • 117,005
  • 15
  • 201
  • 306
0
votes
1 answer

Shenandoah Garbage Collector Load Reference Barriers

It is not a big secret for people who have watched the development of Shenandoah that a major criticism is that it employs GC barriers for every single write and read : be it reference or primitive. Shenandoah 2.0 claims that this is not a problem…
Eugene
  • 117,005
  • 15
  • 201
  • 306