The latest update to the SDK is now available on the Downloads page.
Fix pack 16 (18.104.22.168) includes extended platform support for the idle tuning feature plus a new option that can improve the performance of applications that run in containers by automatically allocating a larger proportion of the available memory to the Java heap.
Idle tuning feature
This feature allows your application to run with a minimal memory footprint by identifying objects that are no longer referenced and releasing unused memory back to the operating system. In earlier refreshes, this feature was available only on Linux x86 architectures with the gencon garbage collection policy. From fix pack 16, this feature is now available on Linux for IBM POWER® and IBM Z® architectures. You can read more about idle tuning in this recent blog post.
Maximizing your Java heap size for applications that run in a container
When using container technology, applications are typically run on their own and do not need to compete for memory. In this release, changes are introduced to detect when the Eclipse OpenJ9 virtual machine (VM) is running inside a container. If your application is running in a container and you want the VM to allocate a larger fraction of memory to the Java heap, set the -XX:+UseContainerSupport option on the command line. For containers that have more than 2 GB of memory, the default maximum Java heap size is set to 75% of the available memory. With more heap available to your application, less time should be spent in garbage collection and you should see an improvement in performance throughput.
This refresh also contains the latest IBM fixes to the code base. You can find out more about these fixes on our fixes page.