Format of an SMF type-29, subtype-2 record
JVM usage statistics are captured as type-29, subtype-2 records in z/OS System Management Facility (SMF). The SMF record consists of three main sections: the SMF header, the BPE header, and the section for JVM usage statistics.
The BPESMF29 macro contains the DSECTs for both the SMF type-29 and the BPE headers. The
smf29bhs field in the SMF header contains the offset from the start of the SMF
29 record to the BPE header.
The DFSJSMF macro contains the DSECT for the JVM usage statistics. The
smf29sts field in the SMF header contains the offset from the start of the SMF
29 record to the JVM usage statistics.
The following tables describe the fields for each section of the SMF 29, subtype-2 record.
| Name | Length | Type | Description |
|---|---|---|---|
| smf29len | 2 | binary | Record length |
| smf29seg | 2 | binary | Segment descriptor |
| smf29flg | 1 | binary | System indicator flag:
|
| smf29rty | 1 | binary | Record type (29 decimal or x'1D') |
| smf29tme | 4 | binary | Time since midnight, in hundredths of a second, that the record was moved into the SMF buffer |
| smf29dte | 4 | packed | Date (packed decimal) when the record was moved into the SMF buffer |
| smf29sid | 4 | EBCDIC | System identification |
| smf29ssi | 4 | EBCDIC | Subsystem identification |
| smf29sty | 2 | binary | Record subtype. The subtype code for an SMF type-29, subtype-2 record
is SMF29_STY_002. |
| smf29trn | 2 | binary | Number of triplets in this record |
| * | 2 | Reserved | |
| smf29bhs | 4 | binary | Offset to BPE header from start of record |
| smf29bhl | 2 | binary | Length of BPE header |
| smf29bhn | 2 | binary | Number of BPE header |
| smf29sts | 4 | binary | Offset to subtype specific section from start of record |
| smf29stl | 2 | binary | Length of subtype specific section |
| smf29stn | 2 | binary | Number of subtype specific section |
| Name | Length | Type | Description |
|---|---|---|---|
| smf29bh_fieldFlags | 4 | binary | Field flags |
| smf29bh_asType | 4 | EBCDIC | Address space type that wrote this record |
| smf29bh_jobName | 8 | EBCDIC | Job or started task name |
| smf29bh_asName | 8 | EBCDIC |
|
| smf29bh_crType | 1 | binary | Associated control region type:
|
| smf29bh_flag1 | 1 | binary | Flag byte:
|
| * | 2 | Reserved | |
| smf29bh_asVersion | 3 | EBCDIC | Address space version number (binary) |
| smf29bh_bpeVersion | 3 | EBCDIC | BPE version number or 0 (binary) |
| smf29bh_asid | 2 | binary | ASID of the address space that wrote this record |
| * | 4 | Reserved | |
| smf29bh_startStck | 8 | EBCDIC |
|
| smf29bh_stck | 8 | EBCDIC | Current STCK when this record was built |
| Name | Length | Type | Description |
|---|---|---|---|
| SMF29SDS_TRIPLETS | 2 | binary | Number of triplets |
| * | 2 | binary | Reserved |
| SMF29SDS_OFFJRS | 4 | binary | Offset to Java runtime section |
| SMF29SDS_LENJRS | 2 | binary | Length of Java runtime section |
| SMF29SDS_NUMJRS | 2 | binary | Number of Java runtime sections |
| SMF29SDS_OFFGCS | 4 | binary | Offset to GC runtime section |
| SMF29SDS_LENGCS | 2 | binary | Length of GC runtime section |
| SMF29SDS_NUMGCS | 2 | binary | Number of GC runtime sections |
| * | 4 | binary | Reserved |
SMF29SDS_NUMJRS field.
| Name | Length | Type | Description |
|---|---|---|---|
| SMF29JRS_FDFLAGS | 4 | binary | Field flags The first flag byte denotes the version number of the JRS layout |
| * | 4 | binary | Reserved |
| SMF29JRS_NAME | 80 | EBCDIC | Formatted JVM name |
| SMF29JRS_STRTTME | 8 | binary | Start time in milliseconds |
| SMF29JRS_UPTIME | 8 | binary | Up time in milliseconds |
| SMF29JRS_GCPOLCY | 40 | EBCDIC | Garbage collection policy |
| SMF29JRS_PEAKTHRD | 4 | binary | Peak live thread count |
| SMF29JRS_CURRTHRD | 4 | binary | Current number of live threads |
Table 5 describes the garbage collector section for
subtype-2 records that contains garbage collection information for a JVM. A subtype-2 record can
contain more than one garbage collector section, and the number of garbage collector sections in
the record is defined by the SMF29SDS_NUMGCS field.
| Name | Length | Type | Description |
|---|---|---|---|
| SMF29GCS_FDFLAGS | 4 | binary | Field flags The first flag byte denotes the version number of the GCS layout. |
| * | 4 | binary | Reserved |
| SMF29GCS_NAME | 40 | EBCDIC | Garbage collector name |
| SMF29GCS_NUMCOLLS | 8 | binary | Total number of collections |
| SMF29GCS_COLLTME | 8 | binary | Approximate accumulated collection elapsed time |
| SMF29GCS_MEMFREED | 8 | binary | Cumulative total amount of memory freed in bytes |
| SMF29GCS_NUMCOMPCS | 8 | binary | Cumulative total number of compact that was performed |
| SMF29GCS_HEAPUSED | 8 | binary | Amount of heap memory used in bytes |