Fully featured low overhead profiler for Java EE and Java SE platforms.
Easy-to-use performance and memory .NET profiler for Windows, Linux and macOS.
Secure and easy profiling in cloud, containers and clustered environments.
Performance monitoring and profiling of Jenkins, Bamboo, TeamCity, Gradle, Maven, Ant and JUnit.

Garbage collection

Garbage collection telemetry

Garbage collection telemetry graphs shown in the Memory tab will help you estimate garbage collector load. If garbage collection takes a significant amount of time, it is advised to run object allocation recording to pin-point and optimize the problematic code.

The "Garbage Collections" and "Time Spent in GC" graphs are always available.

You can explicitly run garbage collection using "Force Garbage Collection" toolbar button: .

Garbage collection in memory snapshot

If memory snapshot contains recorded allocations, "Garbage Collection" view, in addition to garbage collection telemetry described above, will also contain methods that were the sources of excessive garbage allocation.

See Solving performance problems for details on why one should avoid excessive garbage allocation.

The shown number and shallow sizes correspond to the objects that were created and recycled since the object allocation recording was started and prior to the moment of the snapshot capture.

  • Call tree

    Shows a top-down call tree with methods in which collected objects were created, for each particular thread ("by thread")

    or with calls from all threads merged.

    The tree is shown according to current filters.

  • Hot spots

    Shows methods that made the biggest contribution to creating objects that were collected, either by object count or shallow size:

    Methods are shown according to current filters:

    • non-filtered methods (typically, methods from the source code of profiled application)
    • filtered methods (typically, methods from core classes and used libraries) that were directly called from non-filtered methods or are at the top of thread stack trace (Thread.run()).

  • Method list

    Methods are shown according to current filters:

    • non-filtered methods (typically, methods from the source code of profiled application)
    • filtered methods (typically, methods from core classes and used libraries) that were directly called from non-filtered methods or are at the top of thread stack trace (Thread.run()).

    For each method, the list shows the number and shallow size of collected objects it had created.

YourKit uses cookies and other tracking technologies to improve your browsing experience on our website, to show you personalized content and targeted ads, to analyze our website traffic, and to understand where our visitors are coming from.

By browsing our website, you consent to our use of cookies and other tracking technologies in accordance with the Privacy Policy.