JVM garbage collection performance validated on Nanos unikernel using Eclipse Temurin 25
Eclipse Temurin 25 running on the Nanos unikernel successfully supports all five major HotSpot garbage collectors, including ZGC and Shenandoah, while maintaining standard performance trade-offs.
Summary
A technical study has demonstrated that the Java Virtual Machine (JVM) can operate effectively within the Nanos unikernel environment without requiring modifications to the standard HotSpot distribution. Using Eclipse Temurin 25 on ARM64 architecture, researchers tested five major garbage collectors—Serial, Parallel, G1, ZGC, and Shenandoah—to see if they preserve the performance characteristics typically seen on Linux.
The experiments, conducted on Oracle Cloud Infrastructure Ampere A1 instances, confirmed that the JVM's fundamental trade-offs between throughput, memory footprint, and pause times remain consistent in a unikernel context. Additionally, the study verified that Nanos supports JVM heap uncommit capabilities, allowing the runtime to release unused memory back to the system.
Garbage Collector performance on Nanos
- Collector Compatibility: All five HotSpot collectors (Serial, Parallel, G1, ZGC, and Shenandoah) successfully initialize and execute on the Nanos nightly build without custom JVM or collector patches.
- Throughput and Memory Trade-offs: Parallel GC demonstrated superior efficiency over the G1 baseline, reducing execution time by 20.7% and peak heap usage by 38.2% on ARM64.
- Low-Latency Performance: ZGC achieved sub-millisecond pause times of approximately 0.04 ms, though it required 74.6% more peak heap memory compared to G1.
- Memory Management: The Nanos unikernel supports JVM heap uncommit, enabling G1, ZGC, and Shenandoah to release memory back to the host during execution.
- Advanced Kernel Requirements: The successful operation of ZGC and Shenandoah confirms that Nanos provides necessary low-level memory management, such as multiple physical memory mappings and large virtual address space reservations.
Why it matters
This validation proves that Java applications can be migrated to lightweight, cloud-native unikernel environments like Nanos while still utilizing familiar tuning strategies. It provides a roadmap for developers seeking to reduce the overhead of traditional Linux distributions in high-performance or specialized cloud computing workloads.
Original reference: newsroom.eclipse.org →