Visual heap: card table, heap cards, roots, reference chains

Srinivas Ramakrishna ysr1729 at gmail.com
Wed Aug 14 23:01:34 PDT 2013


Hi Scott, 

Tony Printezis did a lot of work on GC visualization (GCSpy) with his students while he was at Glasgow. There's probably a senior thesis or two from Glasgow, supervised by Tony, that may be of interest and probably a paper from Tony. As I recall, one of Richard Jones' students picked up that work and took it a bit further.  (All this was more than 10-11 years ago or even earlier.)

So talking with Tony or Richard Jones or their websites might provide some bkgrd... As you say, a good pedagogical tool... And worthwhile for that reason.

--Ramki

ysr1729

On Aug 14, 2013, at 9:27, "STIRLING, SCOTT" <ss4766 at att.com> wrote:

> Hi – this question comes out of personal and professional interest in the JVM’s garbage collectors and how they work at the most detailed level possible. I’m wondering if anyone has developed a visualizer or, short of that, even a debug/trace log that could be visualized, which would show a deeper, more granular view of the JVM heap’s micro-structures at runtime.
>  
> It may sound a little nuts to people who are steeped in it, but, for educational and troubleshooting purposes, it would be very interesting to be able to visualize the runtime heap in Java at the macro level (generations) and at the micro-level (heap words, card table, GC roots and chain of references). I’m not expecting something like that would be usable in production or for very large heaps (unless it could be saved off in files and viewed offline). But I can imagine a view in a tool like VisualVM that shows the next level of detail of how the heap is structured at the micro-level and how it changes as programs execute and garbage collection occurs. Watching it in slow motion and replaying captured traces in offline mode would be interesting.
>  
> I’ve been lurking on the list for a few. I have the OpenJDK jdk8 project compiling on Windows and a doxygen/GraphViz config for generating documentation and dependency graphs of the C++ code. I’ve been reading up on CMS, G1 and the GC papers and patents behind them (as well as the Mono/Windows CLR). My interest and experience with testing and tuning JVM heaps and GC for large e-comm sites hosted at AT&T has led to the questions and interest expressed above. Sorry to interject from out of left field. But I highly appreciate any pointers or thoughts on this. And I thank you for making and keeping this project open source.
>  
> Kind regards,
> Scott Stirling
> Principal Technical Architect
> AT&T, Boston
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20130814/57eb8057/attachment.html 


More information about the hotspot-gc-dev mailing list