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

Popular posts from this blog

Hibernate Many to Many Relationship

Why Integral Calculus limit tending to infinity a sacrilege

Introduction