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.

Memory telemetry

After you are connected to the profiled application, find the Memory tab on the session panel.

Memory profiling controls in the toolbar

Toolbar Button Description
Capture memory snapshot Capture memory snapshot - save the profiling results to a file for comprehensive analysis
Start allocation recording Stop allocation recording Start/stop object allocation recording
Reset recorded object allocations Reset recorded object allocations and continue recording
Force GC Explicitly run garbage collector in the profiled application

Memory usage graphs

Memory tab's section Memory & GC Telemetry shows the following graphs:

  • CLR Heap shows the managed memory usage statistics. CLR heap is the storage for managed CLR objects. You can see individual generations or all generations together.

  • Process Memory shows the entire process memory usage, including managed and unmanaged memory.

  • Classes shows how the number of loaded classes changed in time, and the total number of unloaded classes.

  • Garbage Collection and Time Spent in GC show the garbage collection statistics (read more)

  • Object Allocation Recording graph shows the number of objects created per second. Please note that this graph is populated only when object allocation recording is running.

The telemetry information is remembered in a circular buffer in the profiler agent memory. This allows you to connect to a profiled application on demand and discover how the application behaved in the past.

The buffer capacity is 1 hour by default, and can be changed with the startup option telemetrylimit.

Class instance count telemetry

Classes view shows object counts by class. It is located on the Memory tab.

This view is available when the profiler is connected to a running application, allowing to instantly learn object counts without capturing and opening a memory snapshot.

This view is also available in performance snapshots, but is not available in memory snapshots being superseded with objects view.

The presented information can be useful as an overview of memory consumed by the profiled application and also as a clue to detecting memory leaks. For details, see How to find out why application eats that much memory? and How to find memory leaks?

Allocation telemetry

You can profile object allocation without capturing a memory snapshot.

Memory tab's section Allocations shows counts and sizes for objects whose allocations have been recorded, including objects which are still alive as well as objects that have been collected by the moment.

This live view provides only basic information, and you still need to capture memory snapshot to perform comprehensive analysis: to separate live objects from dead objects, to see where live objects are retained, etc.

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.