By default, a heap dump contains almost no “JVM-internal” information. However, this information, such as the maximum heap size, GC type, GC tuning parameters, etc. can be very helpful in the JXRay analysis. Why is it useful? Here are some examples:1. If a heap dump is generated after an OutOfMemoryError is thrown, it is very helpful to know what the maximum heap size is. If total used heap, calculated by heap dump analysis, is much …
Author: Mikhail Dmitriev
JXRay 2.9 released
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 configuration It also allows for an accurate estimate of the G1 heap region size, which in turn helps …
A heap dump from OutOfMemoryError contains lots of garbage: how can it happen?
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 helps to optimize one of the biggest apps at LinkedIn
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
In this version: Improved anomaly analysis and added some new types Correctly recognizing when compact object headers are used in JDK 17 and newer with 32+G heaps UI improvements and bug fixes