Create a heap dump from the running Java application (Tomcat server where TIBCO BusinessWorks ProcessMonitor(BWPM) is deployed) using the following command line tools available from JAVA (SDK) 1.6 or higher.
1). Using jmap - jmap is a command line tool used to get information about the memory map of a running Java application. To create a heap dump, execute the following line from a DOS prompt:
jmap.exe -dump:format=b,file=c:\temp\HeapDump.hprof <pid>
pid is the ID of the Java process. The JDK offers another tool called jps to list the IDs of all running Java processes. Executing jps.exe on the command line should print out something like this:
4711 jps
8442 Bootstrap
The Java process called Bootstrap is the running Tomcat server.
2). Using jstack - Sun's JDK (not JRE) ships with a program called jstack (or jstack.exe on Microsoft Windows), which will give you a thread dump on standard output. Pipe the output into a file to produce a thread dump. You will need the process id ("pid") of the process to create the dump. Use of the program jps (jps.exe on Microsoft Windows) can help you determine the pid of a specific Java process.
Syntax:
jstack -l <pid> > threaddump.txt
or
jstack <pid> > threaddump.txt
Generated heap dump files (threaddump.txt and HeapDump.hprof) will have details which will aid in further investigation of the issue.