Estadísticas de tiempo de ejecución Java
Puede utilizar la variable de entorno HJV_JZOS_JVM_SMF_LOGGING JZOS para habilitar el registro cronológico de los recursos de gestión del sistema (SMF) que contienen estadísticas de tiempo de ejecución de Java™ .
De forma predeterminada, el registro de estadísticas de tiempo de ejecución Java está inhabilitado. Si esta variable de entorno se establece en true, el iniciador por lotes JZOS registra un gancho de conclusión de JVM para registrar un registro SMF que contiene estadísticas de rendimiento de tiempo de ejecución Java justo antes de que la JVM concluya.
También puede utilizar la variable de entorno HJV_JZOS_JVM_SMF_LOGGING_INTERVAL para habilitar el registro periódico de registros SMF. Otra variable de entorno, HJV_JZOS_JVM_SMF_THREADS, controla si los detalles de las hebras individuales se incluyen en estos registros SMF. Por último, la variable de entorno HJV_JZOS_JVM_SMF_THREADS_NATIVE_ID controla si se asigna la información de ID de hebra de sistema operativo nativo correcta en la sección de detalles de hebra individual. Para obtener más información sobre cómo configurar estas variables de entorno JZOS, consulte Variables de entorno JZOS.
El lanzador por lotes JZOS utiliza el tipo de registro SMF 121 para registrar estadísticas de rendimiento de tiempo de ejecución Java. Las correlaciones de registros se muestran en las tablas siguientes.
Sección de autodefinición/cabecera
Esta sección contiene los campos de cabecera de registro SMF comunes y los campos de triplete (desplazamiento a sección, longitud de sección o número de secciones) que localizan las otras secciones del registro.
| Desplazamiento (decimal) | Desplazamiento (hexadecimal) | Nombre | Longitud | Formato | Descripción |
|---|---|---|---|---|---|
| 0 | 0 | SMF121LEN |
2 | binario | Longitud de registro (tamaño máximo de 32.756). Este campo y el campo siguiente (total de cuatro bytes) forman la palabra de descriptor de registro (RDW). Los dos primeros bytes (este campo) deben contener la longitud de registro lógico, incluido RDW. |
| 2 | 2 | SMF121SEG |
2 | binario | Descriptor de segmento proporcionado por SMF. Inicialice con ceros. |
| 4 | 4 | SMF121FLG |
1 | binario | Indicador del sistema. El significado de los bits cuando se establece es el siguiente:
|
| 5 | 5 | SMF121RTY |
1 | binario | Tipo de registro. Debe ser 121 decimal. |
| 6 | 6 | SMF121TME |
4 | binario | Tiempo desde la medianoche, en centésimas de segundo, que el registro se ha movido al almacenamiento intermedio SMF. |
| 10 | A | SMF121DTE |
4 | empaquetado | Fecha en la que el registro se ha movido al almacenamiento intermedio SMF, con el formato 00aadddF o 0cyydddF . En este formato, c es 0 para 19xx y 1 para 20xx, yy es el año actual (0-99), ddd es el día actual (1-366) y F es el signo). |
| 14 | E | SMF121SID |
4 | EBCDIC | Identificación del sistema. |
| 18 | 6 | SMF121SSI |
4 | EBCDIC | Identificación del subsistema. |
| 22 | 16 | SMF121STY |
2 | binario | Subtipo de registro. Debe ser 1 decimal. |
| 24 | 18 | SMF121SDS_TRIPLETS |
2 | binario | Número de tripletes (combinaciones de Offset/Longitud/Número). Para la versión 1, hay 3 tripletas:
Para la versión 2, hay cuatro tresillos:
|
| 26 | 1A | SMF121SDS_RSERVD |
2 | binario | Reservado para tener en cuenta la alineación de palabra completa del campo siguiente. |
| 28 | 1C | SMF121SDS_OFFJRS |
4 | binario | Desplazamiento a la sección Java Runtime. |
| 32 | 20 | SMF121SDS_LENJRS |
2 | binario | Longitud de cada sección de Java Runtime. |
| 34 | 22 | SMF121SDS_NUMJRS |
2 | binario | Número de secciones de Java Runtime. Sólo debe haber 1 sección de Java Runtime. |
| 36 | 24 | SMF121SDS_OFFGCS |
4 | binario | Desplazamiento a la sección Recopilador de basura. |
| 40 | 28 | SMF121SDS_LENGCS |
2 | binario | Longitud de cada sección de recopilador de basura. |
| 42 | 2A | SMF121SDS_NUMGCS |
2 | binario | Número de secciones del recopilador de basura. Esto depende de cuántos recopiladores de basura estén activos en la máquina virtual Java. |
| 44 | 2C | SMF121SDS_OFFTS |
4 | binario | Desplazamiento a la sección Hebra. |
| 48 | 30 | SMF121SDS_LENTS |
2 | binario | Longitud de cada sección de hebra. |
| 50 | 32 | SMF121SDS_NUMTS |
2 | binario | Número de secciones de hebras. Este número depende del número de hebras Java activas. |
| 52 | 34 | 0 | Fin de SMF121_1_Header_version 1 | ||
| 52 | 34 | SMF121SDS_OFFJOB | 4 | binario | Desplazamiento a la sección de trabajos de JES![]() |
| 56 | 38 | SMF121SDS_LENJOB | 2 | binario | Longitud de la sección de empleo JES |
| 58 | 3A | SMF121SDS_NUMJOB | 2 | binario | Número de las secciones de trabajo JES. Tenga en cuenta que sólo hay una sección de empleo JES. |
| 60 | 3C | 0 | Fin de SMF121_1_Header_version 2 |
Sección de tiempo de ejecución Java
Información de triplete: esta sección se encuentra en el registro utilizando los siguientes campos de triplete, que se encuentran en Sección de autodefinición/cabecera.
| Desplazamiento (decimal) | Desplazamiento (hexadecimal) | Nombre | Longitud | Formato | Descripción |
|---|---|---|---|---|---|
| 0 | 0 | SMF121JRS_FDFLAGS |
4 | binario | Distintivos de campo para indicar la adición de campos nuevos. El significado de los bits cuando se establece el byte de distintivo 1 es el siguiente:
|
| 4 | 4 | SMF121JRS_NAME |
80 | EBCDIC | Nombre formateado que representa la máquina virtual Java en ejecución, con el formato pid@nombre_host. Recuperado de java.lang.management.RuntimeMXBean::getName(). Si el nombre tiene más de 80 caracteres, se trunca. |
| 84 | 54 | SMF121JRS_STRTTME |
8 | binario | La hora aproximada a la que se inició la máquina virtual Java, en milisegundos. Recuperado de java.lang.management.RuntimeMXBean::getStartTime(). |
| 92 | 5C | SMF121JRS_UPTIME |
8 | binario | Tiempo de actividad de la máquina virtual Java en milisegundos. Recuperado de java.lang.management.RuntimeMXBean::getUptime(). |
| 100 | 64 | SMF121JRS_GCMODE |
40 | EBCDIC | La modalidad de recogida de basura actual como una serie legible por el usuario. Recuperado de com.ibm.lang.management.MemoryMXBean::getGCMode(). Si la serie tiene más de 40 caracteres, se trunca. |
| 140 | 8C | SMF121JRS_PEAKTHRD |
4 | binario | Recuento máximo de hebras activas desde que se inició la máquina virtual Java o se restableció el recuento máximo. Recuperado de java.lang.management.ThreadMXBean::getPeakThreadCount(). |
| 144 | 90 | SMF121JRS_CURRTHRD |
4 | binario | Número actual de hebras activas, incluidas las hebras daemon y no daemon. Recuperado de java.lang.management.ThreadMXBean::getThreadCount(). |
| 148 | 94 | SMF121JRS_APPCPU |
8 | binario | Uso total de CPU para todas las hebras de aplicación en microsegundos. Recuperado de com.ibm.lang.management.JvmCpuMonitorInfo::getApplicationCpuTime(). Si la información de uso de CPU no está disponible, este campo contiene -1. |
| 156 | 9C | SMF121JRS_SYSCPU |
8 | binario | Uso total de CPU de todas las hebras del sistema en microsegundos, que incluye GC, JIT y otras hebras de daemon de JVM. Recuperado de com.ibm.lang.management.JvmCpuMonitorInfo::getSystemJvmCpuTime(). Si la información de uso de CPU no está disponible, este campo contiene -1. |
| 164 | A4 | SMF121JRS_GCCPU |
8 | binario | Uso total de CPU de todas las hebras de GC en microsegundos. Se ha recuperado from
com.ibm.lang.management.JvmCpuMonitorInfo::getGcCpuTime(). Si la información de uso de CPU no está disponible, este campo contiene -1. |
| 172 | CA | SMF121JRS_JITCPU |
8 | binario | Uso total de CPU de todas las hebras JIT en microsegundos. Se ha recuperado from
com.ibm.lang.management.JvmCpuMonitorInfo::getJitCpuTime(). Si la información de uso de CPU no está disponible, este campo contiene -1. |
Sección de recogida de basura
Información de triplete: esta sección se encuentra en el registro utilizando los siguientes campos de triplete, que se encuentran en Sección de autodefinición/cabecera.
| Desplazamiento (decimal) | Desplazamiento (hexadecimal) | Nombre | Longitud | Formato | Descripción |
|---|---|---|---|---|---|
| 0 | 0 | SMF121GCS_FDFLAGS |
4 | binario | Distintivos de campo para indicar la adición de campos nuevos, actualmente deben ser todos ceros. |
| 4 | 4 | SMF121GCS_NAME |
40 | EBCDIC | Nombre del recopilador de basura. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getName(). Si el nombre tiene más de 40 caracteres, se trunca. |
| 44 | 2C | SMF121GCS_COLLCNT |
8 | binario | Número total de recopilaciones que se han producido. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getCollectionCount(). |
| 52 | 34 | SMF121GCS_COLLTME |
8 | binario | El tiempo transcurrido de recopilación acumulada aproximado en milisegundos. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getCollectionTime(). |
| 60 | 3C | SMF121GCS_TMEMFREED |
8 | binario | Cantidad total acumulada de memoria liberada, en bytes, por el recopilador de basura. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getTotalMemoryFreed(). |
| 69 | 44 | SMF121GCS_TCOMPACTS |
8 | binario | El número total acumulado de compactaciones realizadas por el recopilador de basura. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getTotalCompacts(). |
| 76 | 4C | SMF121GCS_MEMUSED |
8 | binario | Una instantánea de la cantidad de memoria de almacenamiento dinámico que utilizan los objetos que gestiona el recopilador de basura justo antes de que se registrara este registro SMF. Recuperado de com.ibm.lang.management.GarbageCollectorMXBean::getMemoryUsed(). |
Sección de hebra
Información de triplete: esta sección se encuentra en el registro utilizando los siguientes campos de triplete, que se encuentran en Sección de autodefinición/cabecera.
| Desplazamiento (decimal) | Desplazamiento (hexadecimal) | Nombre | Longitud | Formato | Descripción |
|---|---|---|---|---|---|
| 0 | 0 | SMF121TS_FDFLAGS |
4 | binario | Distintivos de campo para indicar la adición de campos nuevos, actualmente deben ser todos ceros. |
| 4 | 4 | SMF121TS_ID |
8 | binario | ID de hebra Java. Recuperado de java.lang.management.ThreadInfo::getThreadId(). |
| 6 | C | SMF121TS_NAME |
24 | EBCDIC | Nombre de hebra Java. Recuperado de java.lang.management.ThreadInfo::getThreadName(). Si el nombre tiene más de 24 caracteres, se trunca. |
| 36 | 24 | SMF121TS_CAT |
8 | EBCDIC | Categoría de hebra. Recuperado de com.ibm.lang.management.JvmCpuMonitorMXBean::getThreadCategory(long). Las categorías de hebras posibles son las siguientes: APP, APP-U1, APP-U2, APP-U3, APP-U4, APP-U5, SYS, GC, JIT. OTROS, RM. Si la información de categoría de hebra no está disponible, este campo contiene una serie vacía. |
| 44 | 2C | SMF121TS_CPU |
8 | binario | Tiempo total de uso de CPU. Este campo tiene precisión de nanosegundos, pero es posible que no tenga precisión de nanosegundos. Recuperado de java.lang.management.ThreadMXBean::getThreadCpuTime(long). Si la información de uso de CPU no está disponible, este campo contiene -1. |
| 52 | 34 | SMF121TS_NATIVEID |
8 | binario | El ID de hebra de SO nativo correspondiente. Si esta información no está disponible, el campo contiene -1. |
Sección de trabajos JCL
Información de triplete: esta sección se encuentra en el registro utilizando los siguientes campos de triplete, que se encuentran en Sección de autodefinición/cabecera.
| Desplazamiento (decimal) | Desplazamiento (hexadecimal) | Nombre | Longitud | Formato | Descripción |
|---|---|---|---|---|---|
| 0 | 0 | SMF121JOB_JOBNAME | 8 | EBCDIC | Nombre de trabajo |
| 8 | 8 | SMF121JOB_JOBID | 8 | EBCDIC | ID de trabajo |
| 16 | 10 | SMF121JOB_STEPNAME | 8 | EBCDIC | Nombre del paso de trabajo |
| 24 | 18 | SMF121JOB_STEPNUM | 1 | binario | Número de paso del trabajo |
| 25 | 19 | SMF121JOB_JOBCORR | 64 | EBCDIC | Correlacionador de empleos JES |
| 89 | 59 | SMF121JOB_JOBENTRY | 4 | binario | Tiempo de entrada del lector JES en 1/100'S seg |
| 93 | 5D | SMF121JOB_JOBEDATE | 4 | binario | Fecha de entrada del lector JES 0CYYDDDF |