Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.SET_JVM

Piloter une machine virtuelle Java

Procédure qui demande une action à une machine virtuelle Java en cours d'exécution, par exemple générer un vidage du tas (heap dump) pour diagnostic.

À quoi ça sert

Cette procédure agit sur une JVM identifiée par le nom de son travail (JOB_NAME, au format numéro/utilisateur/nom comme dans l'exemple d'IBM) et exécute l'action demandée dans ACTION. L'exemple utilise GENERATE_HEAP_DUMP pour produire des diagnostics détaillés d'une JVM précise.

Elle sert à diagnostiquer une application Java gourmande en mémoire ou bloquée, sans passer par une session interactive. Elle agit sur le travail en cours. Les JVM actives se repèrent avec QSYS2.JVM_INFO.

Résultat réel sur un IBM i 7.5

Procédure non exécutée sur notre IBM i de test : elle agit sur la configuration du système ou sur d'autres travaux.

L'exemple d'IBM

Générer des diagnostics détaillés pour une machine virtuelle Java précise.

-- Description: Generate detailed diagnostics for a specific JVM 
 CALL QSYS2.SET_JVM('962835/JAVA/QJVAEXEC', 'GENERATE_HEAP_DUMP');

Bon à savoir

Un vidage du tas peut être volumineux et ralentir la JVM le temps de l'écriture : vérifiez l'espace disponible avant de le lancer sur un système de production.

Paramètres

ParamètreTypePar défautSignification
JOB_NAME VARCHAR(28) obligatoire Nom du travail
ACTION VARCHAR(20) obligatoire Action à exécuter