openjdk.ruOpenJDK на русском

JEP 242: JVM Trace Events for Failed Allocations

События трассировки JVM для неудачных выделений памяти

ОтветственныйMarcus Larsson
ТипFeature
ОбластьJDK
СтатусClosed / Delivered
Выпуск8u60
Компонентhotspot / gc
Обсуждениеhotspot dash dev at openjdk dot java dot net
ТрудоёмкостьM
ДлительностьM
РецензентыMikael Vidstedt
ОдобренMikael Vidstedt
Создан2014/10/10 02:37
Обновлён2015/06/25 17:29
Задача8060092

Аннотация

Добавить события трассировки, которые предоставляют информацию о потоках, запускающих операции сборки мусора, и о потоках, ожидающих завершения таких операций.

Описание

Мы определим одно новое событие трассировки. Это событие будут отправлять потоки, у которых выделение памяти не удалось и поэтому требуется сборка мусора.

Если несколько потоков запускают сборку мусора одновременно, событие отправит каждый из них. Однако запустить сборку мусора удастся только одному из них, и этот поток отправит событие сборки мусора. Так можно отследить информацию о выделениях памяти, ожидающих сборки мусора, просмотрев события allocation-requiring-gc (новое событие), предшествующие событию сборки мусора.

Событие будет содержать размер выделения и идентификатор ожидающей операции сборки мусора.

Влияние генерации этих событий на производительность будет пренебрежимо малым.