CPU and memory live charts
IntelliJ IDEA provides a way to monitor live performance statistics for a running process.
As opposed to viewing static figures, live data may help you to visualize resource consumption, identify resource-related bottlenecks, and understand how certain events affect the program performance.
For example, in the picture below, we can see how a memory leak looks like in the Heap Memory chart. Sometimes it is enough to figure out the cause, and when it is not enough, it can give a clue for the further investigation.
Open CPU and memory live charts
In the main menu, go to
.Right-click the necessary process in the Profiler tool window and select CPU and Memory Live Charts.
A new tab opens in which you can see the amount of resources the selected process consumes.
The following metrics are available:
CPU – the CPU load for the given process. Each process has its own figure.
Heap memory – the current usage of heap memory and maximum heap size. The heap size increases when new objects of reference types are allocated, and decreases when they are garbage-collected. The maximum heap size is controlled by the
-Xmx
option.Threads – the overall number of threads (yellow) and daemon threads (red). The number after the slash is the peak number of threads since the process has started.
Non-heap memory – this type of memory is used to store some JVM objects and structures that are needed for the JVM to work. The first value is the current memory value, and the second is the maximum value since the charts have started.
Get a metric for a specific instant
Hover over the point with the required timestamp.
Adjust the timeframe
Click and select the time period over which you want to monitor the process.
Call garbage collection
If you need to test how garbage collection works under specific conditions, you can request it from CPU and Memory Live Charts. For that, click the Perform GC button.