Epsilon: A No-Op Garbage Collector
Epsilon: A No-Op Garbage Collector
We got a new garbage collector, Epsilon GC with JDK 11. This Epsilon GC manages memory allocation. It does not actually reclaim memory. It shuts down the JVM, when there is a OutOfMemoryError.
The idea of building this GC is to offer the lowest possible latency overhead. It provides a bounded memory allocation limit or the upper limit for allocated memory. the upper limit is at the cost of memory throughout. Basically, it implies that learning about the heap will be sufficient for our application, so we don’t need the JVM to utilise resources to execute GC tasks(short pauses). It eliminates the impact GC has on execution and the code runs in absolute isolation.
There are some cases when we know that the available heap will be enough, so we don't want the JVM to use resources to run GC tasks.
Some examples of such cases (also from the related JEP):
- Performance testing
- Memory pressure testing
- VM interface testing
- Extremely short lived jobs
- Last-drop latency improvements
- Last-drop throughput improvements
Comments
Post a Comment