- Newest
- Most votes
- Most comments
The JVM configuration for tiered compilation was changed in the Java 17 managed runtime.
You could change it back to the previous configuration with a environment variable.
JAVA_TOOL_OPTIONS
set to "-XX:-TieredCompilation"
You can read about the changes on the Java 17 AWS blog
Hi, I would personally start by tracing garbage collection and compare between v17 and v11. There has been lots of changes in this area between the 2 versions. In my experience, some GC changes good for most use cases are (very) bad for some. You may be in this situation.
I am saying this because I have been in projects when some code had to be rewritten to fight adversarial GC activity (blocking) due to too much memory allocation / release in the Java classes for class and method variables. We had to minimize this activity to get back to correct performance. Form your Stackoverflow post, you seem to read / write several GBs of data. So lots of chances for similar big memory activity and GC.
So, to trace GC: https://aws.amazon.com/blogs/architecture/field-notes-monitoring-the-java-virtual-machine-garbage-collection-on-aws-lambda/
About the evolutions: https://blogs.oracle.com/javamagazine/post/java-garbage-collectors-evolution
Best,
Didier
Relevant content
- asked 2 years ago
- asked 9 months ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 3 years ago
- AWS OFFICIALUpdated a year ago
JAVA_TOOL_OPTIONS
should be set to-XX:-TieredCompilation
for same tiered compilation setting as in java11