The following use case describes how to use ITCAM for Application Diagnostics to diagnose a memory leak. A number of similar use cases are available in the User Guide in the ITCAM for Application Diagnostics info center
For details of the personas referred to in this use case, see Personas
Diagnose a Memory Leak
Users are reporting slow response times for an application. A user contacts the help desk and raises a ticket for slow response time in relation to an application.
Annette, the level 2 operator, picks up the ticket.
- Annette navigates to the Tivoli Enterprise Portal and notices that the Resources icon is displaying a Critical symbol. On the Resources icon flyover, the GC Active Time (ms) metric is displaying a high value and also the WASHighGCTimePercent situation has triggered. This indicates that the JVM garbage collection is taking too long.
- In the Garbage Collection Analysis workspace, Annette observes, the Percentage of Time Garbage Collector Running - History view displays an increasing trend, which suggests that the heap is insufficient for the demand that applications are putting on it. The Running - History graph, which displays the percentage of real time that the garbage collector was running during the current interval for each server region, is showing an increasing trend. This suggests that either the heap size is insufficient for the demand that applications are putting on it or else there is a memory leak .
- Annette uses an external ticketing tool to route the ticket to Jim, the Middleware/Application SME, for further observance and investigation.
- Jim notices a problem ticket from Annette involving excessive garbage collection times. Jim navigates to the Garbage Collection Analysis workspace and confirms the problem. He requires more detailed information to diagnose the cause of the problem. He clicks the Diagnostic Memory Leak link in the Garbage Collection Analysis workspace. This opens the Memory Leak Confirmation report page in Managing Server Visualization Engine (MSVE).
- From examining the Memory Leak Confirmation report page in MSVE, Jim suspects that there is a memory leak.
- To fully determine if there is a memory leak, he sets the monitoring level to L3 and enables memory leak BCI by completing the following steps:
- Edits the file: $DC_HOME/runtime/appserver_version.node_name.server_name/custom/toolkit_custom.properties file and sets the property com.ibm.tivoli.itcam.toolkit.ai.enablememoryleakdiagnosis=true.
- Uncomments this line to enable Memory Leak Diagnosis: am.camtoolkit.gpe.customxml.leak=/opt/IBM/AD710/aix533/yn/wasdc/22.214.171.124/itcamdc/etc/memory_leak_diagnosis.xml (Note: the path in the line might be slightly different)
- Restarts the Data Collector.
- Jim forwards the problem to Dave, the Application Developer. Dave works to resolve the problem. This action is outside the scope of ITCAM for Application