Во-первых, когда вы всегда наблюдаете полную сборку мусора перед каждым сбросом кучи, вы, вероятно, называете это так:
jmap -histo:live $PID
Если это так, просто пропустите :live
, который подавит явную сборку мусора.
Кроме того, Sun JVM знает следующие параметры командной строки:
-XX:+PrintClassHistogramBeforeFullGC -XX:+PrintClassHistogramAfterFullGC
Это должно быть почти то, что вы хотите.