Aller au contenu

Service SQL IBM i (AS/400) · Vue et Fonction table

QSYS2.JVM_INFO

Machines virtuelles Java actives

Renvoie l'état de chaque machine virtuelle Java (JVM) active : ramasse-miettes, unités d'exécution, répertoire Java et propriétés.

À quoi ça sert

Ce service existe sous deux formes, une vue et une fonction de table, qui renvoient une ligne par JVM : travail et ses composantes, identifiant de processus, heure de démarrage, nombre d'unités d'exécution Java, temps total de ramasse-miettes (TOTAL_GC_TIME), nombre de cycles de ramasse-miettes, nom de la politique de ramasse-miettes, répertoire Java (JAVA_HOME), répertoire utilisateur et nombre de propriétés courantes.

Le paramètre WAIT_TIME fixe le délai d'attente en secondes pour obtenir la réponse de chaque JVM, ce qui évite qu'une JVM qui ne répond pas ne bloque la requête. L'exemple d'IBM de la fonction l'utilise avec une attente maximale de 10 secondes.

On s'en sert pour surveiller des applications Java sur IBM i (serveurs d'applications, services web) : une JVM qui passe son temps en ramasse-miettes signale un manque de mémoire. L'exemple d'IBM pour la vue repère les dix JVM qui y consacrent le plus de temps.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT * FROM TABLE(QSYS2.JVM_INFO(WAIT_TIME => 10))

Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :

JOB_NAME Nom du travail JOB_NAME_SHORT Nom court du travail JOB_USER Profil utilisateur du travail JOB_NUMBER Numéro du travail PROCESS_ID Identifiant du processus START_TIME Heure de début INITIAL_THREAD_TASKCOUNT Compteur de tâches de l'unité d'exécution (thread) initiale JAVA_THREAD_COUNT Nombre d'unités d'exécution Java TOTAL_GC_TIME Temps total de ramasse-miettes (GC) GC_CYCLE_NUMBER Numéro du cycle de ramasse-miettes GC_POLICY_NAME Nom de la politique de ramasse-miettes JAVA_HOME Répertoire d'installation de Java USER_DIRECTORY Répertoire de l'utilisateur NUM_CURRENT_PROPERTIES Nombre de propriétés courantes INITIAL_HEAP_SIZE Taille initiale du tas CURRENT_HEAP_SIZE Taille courante du tas IN_USE_HEAP_SIZE Taille du tas utilisée MAX_HEAP_SIZE Taille maximale du tas MALLOC_MEMORY_SIZE Taille de la mémoire allouée par malloc INTERNAL_MEMORY_SIZE Taille de la mémoire interne JIT_MEMORY_SIZE Taille de la mémoire du compilateur JIT SHARED_CLASS_SIZE Taille des classes partagées BIT_MODE Mode en bits
802020/QSYS/QSRVMON QSRVMON QSYS 802020 12 2026-06-06 18:52:59.016000 1075 27 9429 82 gencon /QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/jre / 82 8192 12032 5618 2097152 306883 6552 264192 0 64
802053/QSRVAGT/QTOCRUNPRX QTOCRUNPRX QSRVAGT 802053 41 2026-06-06 18:52:59.713000 1127 24 17415 65 gencon /QOpenSys/QIBM/ProdData/JavaVM/jdk80/32bit/jre / 83 8192 12288 7589 2097152 86120 3072 10240 0 32
802103/QWEBADMIN/ADMIN1 ADMIN1 QWEBADMIN 802103 76 2026-06-06 18:53:00.733000 1272 57 6023 377 gencon /QOpenSys/QIBM/ProdData/JavaVM/jdk17/64bit /QIBM/UserData/OS/ADMININST/admin1/wlp/usr/servers/admin1 127 65536 476608 276382 4194304 528857 28056 270336 0 64
802105/QLWISVR/ADMIN2 ADMIN2 QLWISVR 802105 75 2026-06-06 18:52:59.824000 1274 50 1820 281 gencon /QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/jre /QIBM/UserData/OS/ADMININST/admin2/wlp/usr/servers/admin2 124 524288 524288 75286 16384000 416972 16792 266240 0 64
802106/QWEBADMIN/ADMIN4 ADMIN4 QWEBADMIN 802106 74 2026-06-06 18:52:59.807000 1275 71 28429 441 gencon /QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit/jre /QIBM/UserData/OS/ADMININST/admin4/wlp/usr/servers/admin4 123 65536 327104 100747 4194304 439309 32152 270336 0 64

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Trouver les 10 JVM qui passent le plus de temps en ramasse-miettes, ou afficher les informations de toutes les JVM en attendant au plus 10 secondes chacune.

-- Description: Find the top 10 JVM jobs in Garbage Collection 
 SELECT TOTAL_GC_TIME, GC_CYCLE_NUMBER,JAVA_THREAD_COUNT, A.* FROM QSYS2.JVM_INFO A 
 ORDER BY TOTAL_GC_TIME DESC 
 LIMIT 10;
-- Description: Show information for all JVMs on the system. Do not wait longer than  
  --   10 seconds for the results of any individual JVM to be returned. 
 SELECT * FROM TABLE(QSYS2.JVM_INFO(WAIT_TIME => 10));

Bon à savoir

L'interrogation de chaque JVM peut prendre du temps : règle WAIT_TIME si certaines JVM sont lentes à répondre.

Paramètres

ParamètreTypePar défautSignification
WAIT_TIME INTEGER 3 Temps d'attente
WAIT_TIME INTEGER 3 Temps d'attente

Colonnes renvoyées (23)

Afficher les 23 colonnes
ColonneTypeSignification
JOB_NAME VARCHAR(28) Nom du travail
JOB_NAME_SHORT VARCHAR(10) Nom court du travail
JOB_USER VARCHAR(10) Profil utilisateur du travail
JOB_NUMBER VARCHAR(6) Numéro du travail
PROCESS_ID INTEGER Identifiant du processus
START_TIME TIMESTAMP Heure de début
INITIAL_THREAD_TASKCOUNT BIGINT Compteur de tâches de l'unité d'exécution (thread) initiale
JAVA_THREAD_COUNT BIGINT Nombre d'unités d'exécution Java
TOTAL_GC_TIME BIGINT Temps total de ramasse-miettes (GC)
GC_CYCLE_NUMBER INTEGER Numéro du cycle de ramasse-miettes
GC_POLICY_NAME VARG Nom de la politique de ramasse-miettes
JAVA_HOME VARG Répertoire d'installation de Java
USER_DIRECTORY VARG Répertoire de l'utilisateur
NUM_CURRENT_PROPERTIES INTEGER Nombre de propriétés courantes
INITIAL_HEAP_SIZE BIGINT Taille initiale du tas
CURRENT_HEAP_SIZE BIGINT Taille courante du tas
IN_USE_HEAP_SIZE BIGINT Taille du tas utilisée
MAX_HEAP_SIZE BIGINT Taille maximale du tas
MALLOC_MEMORY_SIZE BIGINT Taille de la mémoire allouée par malloc
INTERNAL_MEMORY_SIZE BIGINT Taille de la mémoire interne
JIT_MEMORY_SIZE BIGINT Taille de la mémoire du compilateur JIT
SHARED_CLASS_SIZE BIGINT Taille des classes partagées
BIT_MODE INTEGER Mode en bits