Analysis / visualization of GC usage patterns between two program versions?

I just spent a few days greatly improving our software, getting rid of a lot of unnecessary object allocations. The improvements are dramatic, now I can start the process with (almost) new objects. The megabytes to megabytes of the newly discarded objects were generated before my fixes.

Now I want to visualize the improvements in some impressive way (this is all about measurable impact :). Any tips? I've used VisualVM for a lot of tools, but it's actually not very much. The monitor shows something called "GC activity", but it's not that useful. Ideally, I would like to be able to keep a cumulative count of the size of the entire object created in the process before and after the fix. Any tools to allow me to do this?

Thank!

+3


source to share


2 answers


You can use GCMV . It supports many different detailed GC formats and allows you to compare comparison charts. We often do this for memory leaks, etc. where we want to show "before and after" stories.



It also makes funny summaries about things like total GCs, total GC times, etc., which look pretty convincing in these cases.

+2


source


With VisualVM, you have two options. You can use memory profiling, which keeps track of the number of allocated instances for each class, or you can use support for keeping track of the cumulative Java heap bytes allocated for each line of the stream that was added in VisualVM 1.3.3.



0


source







All Articles