HPjmeter 4.3 User's Guide

Selecting large view ports, one hour or longer, allows you to easily see the trend in the heap size
after garbage collection and its increase rate, if any. You can visually assess the danger associated
with the memory leak, and estimate, based on the knowledge of the total heap size, when the
application would run out of memory, whether it is a matter of minutes, hours, or days.
The Heap Monitor and Garbage Collections data help you determine if an observed application
termination could have been caused by running out of heap space.
The Heap Monitor gives the idea about the overall heap limit, while the Garbage Collections
display shows the size of heap after each garbage collection.
If the heap size shown by Garbage Collections converges toward the heap limit, the application
will, or has, run out of memory.
Related Topics
Expected Out Of Memory Error Alert (page 128)
Garbage Collections (page 141)
Heap Monitor (page 140)
Current Live Heap Objects (page 147)
How Memory Leak Detection Works (page 214)
Heap Usage Alert (page 129)
JMX Memory Tab (page 59)
Identifying Excessive Object Allocation
Use the Allocated Object Statistics by Class display.
This metric shows the most frequently allocated object types.
Verify your understanding of the application memory use pattern with this metric. Resolving this
problem requires knowledge of the application.
Related Topics
Allocated Object Statistics by Class (page 145)
Identifying the Site of Excessive Object Allocation
Use the Allocating Method Statistics display.
This metric shows the methods that allocate the most objects. This metric is useful when you decide
to decrease heap pressure by modifying the application code.
Related Topics
Allocating Method Statistics (page 146)
Identifying Abnormal Thread Termination
Look for the Abnormal Thread Termination Alert, which allows you to see a list of the uncaught
exceptions.
You can then use the Thread Histogram to investigate possible problems.
Terminated threads appear as a discontinued row. HPjmeter is unable to tell if the thread was
prematurely terminated or just completed normally. This is a judgment call, but in many cases the
analysis does not require extensive application knowledge.
If just one thread from a group of similar threads (by name, creation time and characteristics)
terminates, it is very likely that it was stopped.
A thread terminating abnormally does not necessarily bring the application down, but can frequently
cause the application to be unresponsive.
54 Monitoring Applications