Products
 
 
 
Fully featured low overhead profiler for Java EE
and Java SE platforms.
Easy to use performance and memory profiler for .NET framework.
Supports ASP.NET, Silverlight, .NET Windows services and more.
previous      content      next
Garbage collection

Garbage collection telemetry

"Garbage Collection" telemetry will help you estimate garbage collector load. If garbage collection takes a significant amount of time, it is advised to profile memory allocation to pin-point and optimize the problematic code.

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 allocation recording was started and prior to the moment of the snapshot capture. (See also Memory snapshot, section "Inaccessible objects are treated as if they were already collected").

  • 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 ("all threads together").

    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 number ("Hot spots by object count")

    or by shallow size ("Hot spots by object 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.

    You can narrow down the list by typing a method's name in the text field.

previous      content      next