Hacker News new | ask | show | jobs
Visualizing Garbage Collection Algorithms (2014) (spin.atomicobject.com)
86 points by ksashikumar 3385 days ago
3 comments

While we're on the topic, can anyone share the tools and methods they use to visualize GC in their live environments? Back when I worked at a Scala shop I spent an incredible amount of time in the VisualGC plugin tab of VisualVM. This was fairly onerous because its a fully seperate java app connecting to a jmx port on each jvm you want to look at. It also required setting the refresh rate to 100ms to be able to see the consumption patters clearly in the graphs, which in turn required a fairly low latency and stable network connection to not be riddled with false-positives (meaning, our mac-mini driven tv's with wifi connections).

Does anyone have a better tooling story to share? (on any lang/runtime). I found that things like datadog and newrelic were completely useless because their time-resolution completely obscured the underlying behavior pattern. Like trying to measure the tide with one datapoint a day.

The Azul Zing inbuilt tooling was already very very nice 3 years ago when I got to try it for a bit. Of course in the trial with Zing GC was no longer something to worry about as that just worked :) I couldn't get the budget round and some other work reduced GC pressure so did not use in production. Now hoping the Shenadoah GC will bring some of the benefits of Zing for free or redhat included pricing.
I've used this to some success in the past

http://gceasy.io/

After hearing about GC for well over 20 years now, I would have thought it would have been a Solved Problem(tm) by now! It's clearly a situation where every conceivable solution seems to have tradeoffs.

Interesting post, although I had to force-reload the page to get the animations to restart...

20 years? John McCarthy proposed and implemented it in Lisp in 1960!
Automatic memory management is a solved problem from technical point of view, it just needs a few generations to convince all luddites.