JEP 242: JVM Trace Events for Failed Allocations

OwnerMarcus Larsson
StatusClosed / Delivered
Componenthotspot / gc
Discussionhotspot dash dev at openjdk dot java dot net
Reviewed byMikael Vidstedt
Endorsed byMikael Vidstedt
Created2014/10/10 02:37
Updated2015/06/25 17:29


Add trace events to expose information about threads that trigger garbage-collection operations and threads that are waiting for such operations to complete.


We will define one new trace event. This event will be sent by threads for which an allocation has failed such that garbage collection is now required.

In the case of multiple threads triggering GCs at the same time, every thread will send the event. Only one of them will succeed in triggering a GC, however, and that thread will send a garbage collection event. This way one can trace the information about allocations waiting on a GC by looking at the allocation-requiring-gc events (the new event) preceding the garbage collection event.

The event will contain the allocation size and the id of the pending GC operation.

The performance impact of generating these events will be negligible.