Blog

JXRay 2.7 update 6 released

Posted on May 12, 2020

Today we released JXRay 2.7u6. This version contains numerous usability improvements, some performance improvements and bug fixes, including, but not limited to: Faster and more accurate analysis of some Android heap dumpsBig HTML reports that JXRay may generate are now rendered much faster by browsersRetained memory reported for all objects. The “Where memory goes, by class” table can be sorted by any columnInstances of classes such as java.util.Date, java.lang.reflect.Method, java.math.BigInteger etc. are represented in user-friendly
If an app keeps sensitive data such as credit card numbers, passwords etc. in its memory, then its heap dump will contain that information as well. That creates legitimate concerns, especially at big companies: what if sensitive data leaks after we shared a dump with another team to facilitate debugging? Fortunately, JXRay is already much better than most other tools in this respect. First, as explained in one of our previous posts, it allows you

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.