--- old/src/hotspot/share/gc/z/zDirector.cpp 2020-05-28 10:07:28.041200112 +0200 +++ new/src/hotspot/share/gc/z/zDirector.cpp 2020-05-28 10:07:27.737190259 +0200 @@ -186,7 +186,7 @@ const size_t soft_max_capacity = ZHeap::heap()->soft_max_capacity(); const size_t max_reserve = ZHeap::heap()->max_reserve(); const size_t used = ZHeap::heap()->used(); - const size_t free_with_reserve = soft_max_capacity - used; + const size_t free_with_reserve = soft_max_capacity - MIN2(soft_max_capacity, used); const size_t free = free_with_reserve - MIN2(free_with_reserve, max_reserve); const double free_percent = percent_of(free, soft_max_capacity);