Blog

JXRay 2.9 released

Posted on August 31, 2025

In this version: Heap dump analysis now takes into account JVM flags of the analyzed Java process, such as GC type, maximum heap size etc. The flags can be supplied by the user through a text file, or saved in the dump itself.The above feature allows JXRay to identify common mistakes with JVM flags and heap configurationIt also allows for an accurate estimate of the G1 heap region size, which in turn helps JXRay to
Native code (typically C/C++) invoked from Java code may need to access contents of Java objects. For example, compression code (zip library) and I/O code operates on byte[] arrays that are created by the Java code. When native code goes through the contents of a Java array, it is highly desirable from the performance standpoint that this code reads/writes bytes directly from the heap, using raw machine addresses. However, that would break the fundamental GC
JXRay has been recently used to optimize memory footprint and GC performance of one of the most important services at LinkedIn. Read more in the LI Eng Blog article.

JXRay 2.8u6 released

Posted on April 13, 2024

In this version: Improved anomaly analysis and added some new typesCorrectly recognizing when compact object headers are used in JDK 17 and newer with 32+G heapsUI improvements and bug fixes
Apache Pinot is a column-oritented distributed data store written in Java. It is open-source code used in applications where fast analytics is needed on immutable data. For example, at LinkedIn it was initially used to power the feature that allows members to see who has viewed their profile in real-time. Thanks to JXRay analysis, it has been recently discovered that in some installations, Pinot instances running with big (over 60G) heaps wasted a huge amount