How to create Java Heap Dump from SCC service for SUP 2.x
This technical document explains how to create a java heap dump from a specific
service (Sybase Control Center – SCC) by JVisualVM for debugging purposes by development.
Additionally a Profile of the CPU usage can be created.
To detect a memory leak issue for a specific service a
java heap dump can be generated using JVisualVM.
1. SUP 2.x.x or higher.
2. JVisualVM (included in SUP)
1. Access to Sybase Control Center.
2. Access to the JDK under the Sybase installation.
3. JVisualVM can only attach to a running JVM using the same account.
That is the reason the document suggests starting SCC from command prompt using scc.bat.
By default, the SCC service runs under “Local System Account”.
If in SCC service has been configured to run using a specific user account, and the JVisualVM
is also launched after login
to the host using the same account, JVisualVM should be able to see and attach
to the SCC service JVM process.
Otherwise, another option is to temporarily configure SCC service to run with the same identity
(choose Properties>Log on>This Account) as the account used for JVisualVM.
- This document assumes you have a working SUP environment.
- Have Administrator rights to the Operating System and Sybase Unwired Server.
Issue “High CPU utilization consuming more than 50% of CPU”
- User needs to debug high CPU usage.
Step 1 Configure SCC startup
- SCC service needs to be started from command line
- Stop the SCC service.
2. In command line console, cd “%SCC_HOME%\bin folder and set SCC_JAVA_HOME
environment variable, then run scc.bat.
It might be necessary to set the 64bit SCC_JAVA_HOME (JDK1.6.0_31-x64)
instead of the 32bit (JDK1.6.0_31).
3. Start the JVisualVM from command line.
Step 2 Creating Java heap dump file
- SCC process needs to be attached
- “Memory” needs to be sampled
- Capturing the Heap Dump
- Select the correct process to monitor (The com.sybase.ua.startup.Startup process).
- In the “Sampler” tab click “Memory” to sampling the memory.
- Perform a heap dump by first clicking on “Perform GC” and afterwards on “Heap Dump”.
4. The following screenshot shows where to find that .hprof file.
This file should be send to the development team.
Step 3 Profile CPU usage
- Creating CPU profiling image
- In the “Profiler” tab, click on the “CPU” button.
- Wait for more than 10 minutes or even more. Note that CPU profiling needs consuming long time.
- Click on the “Save Current View to Image” button.
- Send the image to the development team.
This document explained in details about the steps needed to set up the SCC process and JVisualVM
and capture the Java Heap dump in the Sybase Unwired Server to show if there is any issues
such as memory leak. This is a very valuable procedure to provide dumps for debugging in development.