previous      content      next
Automatically capture snapshot on high memory usage

You can instruct the profiler to automatically capture memory snapshot when used memory reaches the specified threshold.

When used memory constantly increases, this often means there's a memory leak. Based on this concept, this feature greatly simplifies the detection of such situations in e.g. long-running applications such as servers. One of the benefits is that, after being triggered, the feature requires no further human interaction.

Please also consider the built-in ability of modern Sun Java virtual machines to dump memory on OutOfMemory. The JVM's internal light-weight dumping algorithm is used. This algorithm is specially designed to work in low memory conditions, when the JVM general purpose profiling interface JVMTI used by profilers may fail due to low resources.

To toggle this feature, connect to the profiled application and press the button shown on the picture below:

Then, if the threshold is reached, a memory snapshot will be created, a notification will be shown in the UI and the feature will deactivate. You can enable it again afterwards.

How to trigger the snapshots from the start

By default, when the profiled application starts, this feature is disabled. You can change this

How to control the trigger with the help of the profiler API

To programmatically access the trigger, use the following API methods:

  • com.yourkit.api.Controller.getUsedMemoryThreshold()
  • com.yourkit.api.Controller.setUsedMemoryThreshold()
previous      content      next