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

Popular posts from this blog

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12:test (default-test) on project.Error occurred in starting fork -

windows - Debug iNetMgr.exe unhandle exception System.Management.Automation.CmdletInvocationException -

configurationsection - activeMq-5.13.3 setup configurations for wildfly 10.0.0 -