java - How to figure out which objects survived n minor GC -
in application see objects keep coming old gen:
- age 1: 23911192 bytes, 23911192 total - age 2: 627816 bytes, 24539008 total - age 3: 60344 bytes, 24599352 total - age 4: 19488 bytes, 24618840 total - age 5: 12864 bytes, 24631704 total - age 6: 10632 bytes, 24642336 total - age 7: 11472 bytes, 24653808 total - age 8: 10944 bytes, 24664752 total - age 9: 39480 bytes, 24704232 total - age 10: 10288 bytes, 24714520 total - age 11: 8072 bytes, 24722592 total - age 12: 9976 bytes, 24732568 total - age 13: 13112 bytes, 24745680 total - age 14: 8928 bytes, 24754608 total - age 15: 8600 bytes, 24763208 total <-- these guys?
so, wanted ask best way figure out objects survived 15 minor gc?
application works hour, it's not warm period.
i'm not aware of option breaks down instances tenuring age
but if ask objects live age 16 instead that's objects promoted old generation. can traced -xx:+printclasshistogram
. diffing histograms after full gc , before next full gc show objects bled old gen in young collections in between.
using memory profiler supports snapshots , comparison can provide similar insight.
for java 9's unified logging equivalent option -xlog:classhisto*=trace
Comments
Post a Comment