You can use the EXEC CICS
INQUIRE JVM command
or the
CEMT INQUIRE JVM command to identify and
report the status of each JVM in the JVM pool. Using the EXEC CICS INQUIRE
JVM command, you can inquire on a specific JVM, or you can browse through
all the JVMs in the JVM pool. Using the CEMT INQUIRE JVM command, you can
list all the JVMs in the JVM pool, or inquire on all JVMs in a specified state.
The commands tell you about:
- The JVM profile and execution key of the JVMs in the pool.
- Which of the JVMs in the pool use the shared class cache.
- The age of each JVM.
- The task to which a JVM is allocated, and the time it has been allocated
to the task.
- JVMs that are being phased out as a result of a CEMT SET JVMPOOL PHASEOUT,
PURGE or FORCEPURGE command, or a CEMT PERFORM CLASSCACHE PHASEOUT, PURGE
or FORCEPURGE command (or the equivalent EXEC CICS commands).
The INQUIRE JVM command does not find the master JVM that initializes
the shared class cache. It only finds worker JVMs and standalone JVMs.
You can also monitor the activity in the JVM pool using the CICS statistics.
Use the EXEC CICS
COLLECT STATISTICS command, or
the
CEMT PERFORM STATISTICS command, with the relevant
options to collect these statistics. Some useful statistics are the JVM pool
statistics (JVMPOOL option), the TCB Mode statistics (DISPATCHER option),
the JVM profile statistics (JVMPROFILE option), and the JVM program statistics
(JVMPROGRAM option). These statistics can tell you, among other things:
- How many JVMs of a particular profile, on a particular TCB mode, are in
the JVM pool (from the JVM profile statistics).
- How many requests were made for a JVM of a particular profile, on a particular
TCB mode (from the JVM profile statistics).
- How many times a request for a JVM had to wait because there was no JVM
available with an execution key and profile matching the request (from the
TCB pool statistics for the JVM pool). This includes both requests that were
eventually assigned a suitable JVM, and requests to which CICS decided to
assign a mismatching or stolen JVM, rather than make them wait any longer.
This figure can also include serialization waits, that is, time spent waiting
to obtain any required locks.
- How long these requests spent waiting (from the TCB pool statistics for
the JVM pool).
- How many times a request for a JVM was assigned a JVM that had the wrong
profile or the wrong execution key (from the JVM profile statistics). These
incidents of mismatching and stealing are broken down by JVM profile, so you
can see if a particular profile is causing excess stealing activity.