HPjmeter 4.3 User's Guide

Guidelines
Class types reside in the Permanent Generation space, which is usually more limited in size
than other areas of memory. Continuing incorporation of additional instances of a class loader
can begin to fill this area, creating an out-of-memory error in the Perm Gen region of memory.
Check the Class Loaders metric — are the number of instances of each class loader what you
expect?
Use Mark and Find functions in the visualizers to locate references to the class loader and its
loaded classes in other related visualizers. Do you find any classes that you think should have
been garbage collected, but are not? Note how much space is held by the class loader.
Garbage collection cannot be thorough when application code has created a reference that
is keeping the class loader and its classes active beyond the time they are needed in the
program.
TIP: If you have instrumented the application with Java Management Extensions, you can also
open a monitoring session in HPjmeter and use the JMX Memory Tab (page 59) to quickly observe
a rough gauge of activity in various regions of the allocated memory, including the Perm Gen and
the Survivor space. See Using the JMX Viewer (page 57) for additional information.
Related Topics
Identifying Too Many Classes Loaded (page 57)
Mark an Item for Search (page 203)
Find a Search Pattern (page 204)
Reference Graph Tree (page 169)
Reference Sub-Trees by Size (page 170)
Residual Objects (Count) (page 175)
Unfinalized Objects (page 169)
Profiling with -agentlib:hprof (page 76)
Residual Objects (Count)
The number of residual objects presented by object types. Residual objects are those remaining
on the heap while the heap dump occurred. Not all residual objects are live.
Related Topics
Mark an Item for Search (page 203)
Find a Search Pattern (page 204)
Residual Objects (Bytes)
The number of bytes occupied by residual objects of a given type, presented by object types.
Related Topics
Mark an Item for Search (page 203)
Find a Search Pattern (page 204)
Profile by Threads
Threads Histogram
This visualizer shows all threads created by the application. The horizontal bars represent the
lifetime of the threads with respect to the lifetime of the whole application. An explanation follows
the image.
Using Profile Displays 175