JVMInfo
JVMInfo (ActiveMatrix BPM JVMInfo Utility) is a command-line tool that you can use to view the current status of a JVM process, for example memory, threads, or classes. You can use it to get a summary, or to monitor the process continuously.
Setup
JVMInfo uses the Java Runtime Environment (JRE) used by ActiveMatrix BPM. However, this JRE no longer ships with the libattach shared library (for example libattach.so on Linux). So, you must locate libattach in a separate JDK's JRE and add this location to the shared library path. For example, on Linux, LD_LIBRARY_PATH can be altered in the shell to include the location of the library:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/java/jdk1.8.0/jre/lib/amd64
Similar changes to the library path can be made on other platforms if required.
Running JVMInfo
On Windows, the path of JVMInfo is:
TIBCO_HOME\bpm\version\bin\jvminfo.bat
On UNIX, the path of JVMInfo is:
TIBCO_HOME/bpm/version/bin/jvminfo
Usage
jvminfo [-v] [-b] <process_ID> [<interval> [<count>]]
jvminfo -t <process_ID>
jvminfo -l
jvminfo -m <process_ID>
The options and variables have the following meanings:
-v | Verbose output. |
-t | Dump thread information. |
-l | List the JVMs running. |
-b | When in Verbose mode, output the memory values in bytes. This gives a more precise figure than when -b is omitted. |
-m | Return additional Process Engine information gathered from the BPM node. |
<process_ID> | Process ID of the JVM. |
<interval> | Sampling interval (in seconds). |
<count> | Number of samples to take before terminating. |
Example of Non-verbose Output
In non-verbose mode (-v is not used), memory values are displayed in bytes:
C:\...\bin>jvminfo.bat 4068 1 4 Running JVMs are: [7084, 4856, 4068, 5920] DATETIME,PID,OSNAME,OSVERSION,OSARCH,NAME,VENDOR,VERSION,HEAPCOMMITTED,HEAPUSED,HEAPMAX,NONHEAPCOMMITTED,NONHEAPUSED,NONHEAPMAX,THREADSCURRENT,THREADSPEAK,THREADSDAEMON,THREADSTOTAL,CLASSESLOADED,CLASSESTOTAL,CLASSESUNLOADED 2013/06/04 09:53:35,4068,Windows 7,6.1,amd64,Java HotSpot(TM) 64-Bit Server VM,Sun Microsystems Inc.,20.5-b03,558956544,279721064,1037959168,233111552,230496032,318767104,72,72,65,545,24250,26148,1898 2013/06/04 09:53:36,4068,Windows 7,6.1,amd64,Java HotSpot(TM) 64-Bit Server VM,Sun Microsystems Inc.,20.5-b03,558956544,282121792,1037959168,233111552,230512120,318767104,78,78,71,551,24250,26148,1898 2013/06/04 09:53:37,4068,Windows 7,6.1,amd64,Java HotSpot(TM) 64-Bit Server VM,Sun Microsystems Inc.,20.5-b03,558956544,284522520,1037959168,233111552,230512280,318767104,84,84,77,557,24250,26148,1898
Example of Verbose Output
In verbose mode (-v is used), memory values are displayed in bytes, kilobytes, megabytes, or gigabytes, as appropriate:
C:\...\bin>jvminfo.bat -v 4068 Running JVMs are: [5676, 4856, 4068, 5920] JVM PID = 4068 Local connector address = service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc3AAtVbmljYXN0UmVmMgAADDE5Mi4xNjguMS41MQAAyV7+nQFW8GfdPhCX3t0AAAE/DmJvd4ABAHg= 2013/06/04 09:51:43 =================== OperatingSystem: name = Windows 7 version = 6.1 arch = amd64 Runtime: name = Java HotSpot(TM) 64-Bit Server VM vendor = Sun Microsystems Inc. version = 20.5-b03 Heap: committed = 1.2 GB (23.13%) used = 807.2 MB (15.55%) max = 5.1 GB NonHeap: committed = 27.8 MB (73.13%) used = 27.4 MB (72.30%) max = 38 MB Threads: current = 36 peak = 36 daemon = 29 total = 509 Classes: loaded = 24241 total = 26139 unloaded = 1898 Memory Pool (Code Cache): used = 65.9 KB (1.07%) max = 6 MB . . .
Example of Verbose Output with Memory Values in Bytes
In verbose mode with memory values in bytes (-v -b is used), all memory values are displayed in bytes:
C:\...\bin>jvminfo.bat -v -b 4068 Running JVMs are: [5676, 4856, 4068, 5920] . . . Heap: committed = 1,258,971,136 B (23.13%) used = 952,866,680 B (17.51%) max = 5,442,174,976 B NonHeap: committed = 233111552 B (73.13%) used = 230461848 B (72.30%) max = 318767104 B . . .
Example of Additional Process Engine Information Gathered from the BPM node
Return additional process engine information gathered from the BPM node using the -m <process_ID> option.
C:\...\bin\jvminfo -m 8856 Date/Time: 2018/02/09 12:40:28 Engine pid: 8856 Engine name: aad666b6-9c0c-4611-8907-a181613349b2 Engine status: RUNNING Up time: 29 minutes, 51 seconds Is Leader: true PVM Thread Info: 2535,PVM:DB Process Worker-1,1383,/SampleProcess1/Process Packages/ SampleProcess1.xpdl,CallSubProcess,pvm:001i1cr,113,1435,3,2,MODEL 2536,PVM:DB Process Worker-2,1378,/SampleProcess1/Process Packages/ SampleProcess1.xpdl,ScriptTask,pvm:001i1cv,197,1439,2,2,MODEL 2537,PVM:DB Process Worker-3,1384,/SampleProcess1/Process Packages/ SampleProcess1.xpdl,Root Task,pvm:001ila,114,682,3,2,MODEL 2538,PVM:DB Process Worker-4,1380,/SampleProcess1/Process Packages/ SampleProcess1.xpdl,CatchMessageEvent,pvm:001iln,119,695,3,2,MODEL 2539,PVM:DB Process Worker-5,1382,/SampleProcess1/Process Packages/ SampleProcess1.xpdl,ScriptTask1,pvm:001i1d2,115,1442,3,2,MODEL