Luis created BEAM-13073:
---------------------------
Summary: Unexpected GC when using Java 11
Key: BEAM-13073
URL: https://issues.apache.org/jira/browse/BEAM-13073
Project: Beam
Issue Type: Bug
Components: sdk-java-harness
Reporter: Luis
Beam SDK has been supporting Java 11 for a while (I guess the support was
introduced here https://issues.apache.org/jira/browse/BEAM-2530).
Unfortunately, in Spotify we are still experiencing performance issues when
using Beam SDK 2.32, Google Dataflow and Java 11.
Thanks to [~emilyye] and [~iht], they confirmed JVM 11 is using SerialGC, while
Java 8 uses ParallelGC. It sound like SerialGC a good option for high
throughput / low latency jobs. For Java11 we'd expect to use G1GC or ParallelGC.
This SO question [1] clarifies that JVM choses SerialGC when it treats the
machine as a "client". It looks like the Java SDK container could benefit from
using `-XX:+AlwaysActAsServerClassMachine`. Is that correct?
Let me know if the ticket needs further context or adjustment. (It is my first
time creating a ticket here).
[1]
https://stackoverflow.com/questions/52474162/why-is-serialgc-chosen-over-g1gc
--
This message was sent by Atlassian Jira
(v8.3.4#803005)