Recette SQL IBM i (AS/400) · Travaux
Combien de travaux tournent dans chaque sous-système
Le nombre de travaux actifs dans chaque sous-système, séparés entre interactifs et batch : une photo de la charge en une requête.
Le besoin
Combien de travaux tournent dans QBATCH, QINTER, QUSRWRK ? Pour un tableau de bord d'exploitation ou un suivi de charge, un comptage par sous-système suffit.
La requête
SELECT SUBSYSTEM, COUNT(*) AS TRAVAUX,
SUM(CASE WHEN JOB_TYPE = 'INT' THEN 1 ELSE 0 END) AS INTERACTIFS,
SUM(CASE WHEN JOB_TYPE = 'BCH' THEN 1 ELSE 0 END) AS BATCH
FROM TABLE(QSYS2.ACTIVE_JOB_INFO(DETAILED_INFO => 'NONE')) J
WHERE SUBSYSTEM IS NOT NULL
GROUP BY SUBSYSTEM
ORDER BY TRAVAUX DESC
Le GROUP BY SUBSYSTEM compte les travaux ; les SUM(CASE WHEN …) séparent les types INT (interactif) et BCH (batch). Les autres types (BCI, PJ, ASJ…) comptent dans le total.
Le résultat sur un IBM i 7.5
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| SUBSYSTEM Sous-système | TRAVAUX Nombre de travaux | INTERACTIFS Travaux interactifs | BATCH Travaux batch |
|---|---|---|---|
| QHTTPSVR | 137 | 0 | 10 |
| QUSRWRK | 91 | 0 | 6 |
| QSYSWRK | 77 | 0 | 39 |
| QSERVER | 24 | 0 | 3 |
| QINTER | 19 | 18 | 0 |
Sur notre IBM i, c'est QHTTPSVR (les serveurs web et l'administration) qui compte le plus de travaux, devant QUSRWRK où tournent les connexions SQL et ODBC.
Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.
L'adapter à votre système
Ajoutez SUM(CPU_TIME) ou SUM(TEMPORARY_STORAGE) pour la consommation par sous-système. Insérée chaque heure dans une table, la requête donne un historique de charge.