We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
No more Xmx! Adaptable Heap Sizing for Containerized Java Applications by Jonathan Joo
Discover how to optimize memory usage in containerized Java applications with Adaptable Heap Sizing, a technique that adjusts JVM heap size based on container RAM usage, reducing GC impact and preventing ooms.
- The XMX is often set too high, leading to memory pressure and container ooms.
- AHS (Adaptable Heap Sizing) allows the JVM heap size to be adjusted based on container RAM usage.
- The AHS worker thread periodically queries container RAM information and adjusts the JVM heap size accordingly.
- The goal of AHS is to reduce the impact of GC on the system and prevent container ooms.
- The target GC CPU overhead percentage is a key tunable in AHS.
- The AHS algorithm includes several heuristics to guide the JVM heap size adjustments.
- The AHS tool is designed to be easy to use and automate the heap size adjustments.
- Google has implemented AHS in production environments and has seen significant memory savings.
- The AHS algorithm is designed to work with G1 and other garbage collectors.
- The current max expansion size flag is a safeguard to prevent the JVM heap from growing too large.
- Proposed heap size is a feature that can be used to further customize the JVM heap size.
- The AHS worker thread is flexible and can be made to fit the needs of the system.
- The AHS algorithm takes into account other heuristics when making heap size adjustments.
- The goal of AHS is to reduce the impact of GC on the system and prevent container ooms.
- The AHS tool is designed to be easy to use and automate the heap size adjustments.