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ètre | Type | Par défaut | Signification |
|---|---|---|---|
WAIT_TIME |
INTEGER | 3 | Temps d'attente |
WAIT_TIME |
INTEGER | 3 | Temps d'attente |
Colonnes renvoyées (23)
Afficher les 23 colonnes
| Colonne | Type | Signification |
|---|---|---|
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 |