Tip of the day: analyzing big heap dumps

Posted on April 22, 2020

Our users sometimes try to analyze a big heap dump (say 30G) on a machine, typically their laptop, that has a much smaller RAM (say 8G). Unfortunately, for most heap dumps that doesn’t work: JXRay fails with an OutOfMemoryError. That’s sad but true: not just JXRay, but all tools for advanced heap dump analysis (Eclipse MAT, YourKit, VisualVM…) require, in the average case, the same amount of memory as the heap dump size, and preferably
One of the most important parts of a JXRay report is the “Where memory goes, by class” section. This table gives you the number of instances for each class, and how much memory they use. However, instead of one “memory” column, there are three: Shallow size, Implementation-inclusive size and Retained memory. What’s the difference between them? Shallow size is simple: that’s just how much memory all instances of the given class use, period. If you

JXRay 2.7 released

Posted on January 1, 2020

In the latest version, we made numerous usability, scalability and performance improvements. The reports are generated faster now and became more informative. However, the most visible change is on the top of each new report: the “Most important issues” section became much more user-friendly. We hope the first time users, and those less familiar with the Java internals, will find it most useful. See the screenshot below, which should be self-explanatory.

Pay-as-you-go now available

Posted on December 18, 2019

With JXRay 2.6u10 release, you now have an option to “pay as you go”. You may add money to your account on the Buy page, and then a small amount will be deducted from your balance after every successful JXRay run. You get a JXRay account automatically after running it for the first time. We hope that those of you who use JXRay infrequently will enjoy this option!
When it comes to optimizing GC, tuning is not the answer. Read the full article here.