Recette SQL IBM i (AS/400) · Travaux
Les 10 travaux qui consomment le plus de processeur
Les 10 travaux qui ont consommé le plus de processeur depuis leur démarrage, avec leur sous-système et leur stockage temporaire : l'équivalent trié de WRKACTJOB.
Le besoin
Le système ralentit, l'utilisation du processeur grimpe : il faut savoir quel travail consomme. WRKACTJOB permet de trier, mais pas de garder le résultat ni de le comparer d'un jour à l'autre.
La requête
SELECT JOB_NAME, SUBSYSTEM, JOB_TYPE, CPU_TIME, ELAPSED_CPU_PERCENTAGE,
TEMPORARY_STORAGE, JOB_STATUS
FROM TABLE(QSYS2.ACTIVE_JOB_INFO(RESET_STATISTICS => 'NO')) J
ORDER BY CPU_TIME DESC
FETCH FIRST 10 ROWS ONLY
CPU_TIME est le temps processeur cumulé depuis le démarrage du travail, en millisecondes. ELAPSED_CPU_PERCENTAGE est la part du processeur sur l'intervalle de mesure ; elle n'a de sens qu'après un premier appel avec RESET_STATISTICS => 'YES', puis un second quelques secondes plus tard.
Le résultat sur un IBM i 7.5
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| JOB_NAME Nom du travail | SUBSYSTEM Sous-système | JOB_TYPE Type de travail | CPU_TIME Temps processeur consommé | ELAPSED_CPU_PERCENTAGE Pourcentage de CPU écoulé | TEMPORARY_STORAGE Stockage temporaire | JOB_STATUS Statut du travail |
|---|---|---|---|---|---|---|
| 802116/QBRMS/Q1ACPDST | Q1ABRMNET | PJ | 5426053 | 0 | 43 | DLYW |
| 802108/QLWISVR/ADMIN5 | QHTTPSVR | BCI | 3662809 | 0 | 197 | THDW |
| 802266/QWSERVICE/FORMATIONS | QHTTPSVR | BCI | 2946842 | 0 | 223 | THDW |
| 802105/QLWISVR/ADMIN2 | QHTTPSVR | BCI | 2873429 | 0 | 304 | THDW |
| 802103/QWEBADMIN/ADMIN1 | QHTTPSVR | BCI | 2703819 | 0 | 713 | THDW |
Chez nous, ce sont les serveurs de BRMS et les serveurs HTTP (QHTTPSVR) qui arrivent en tête : des travaux qui tournent depuis le dernier démarrage, d'où un temps cumulé élevé.
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
Pour voir qui consomme maintenant : lancez une première fois avec RESET_STATISTICS => 'YES', attendez quelques secondes, relancez et triez sur ELAPSED_CPU_TIME. Pour vous limiter à un sous-système, ajoutez SUBSYSTEM_LIST_FILTER => 'QBATCH'.