Service SQL IBM i (AS/400) · Fonction table
QSYS2.SYSTEM_STATUS
État du système, mesure sur intervalle
Fonction de table qui renvoie l'état du système (travaux, processeur, mémoire, stockage, partition) et permet de mesurer des écarts : proche de WRKSYSSTS.
À quoi ça sert
SYSTEM_STATUS renvoie une ligne d'état global : nombre de travaux dans le système et maximal, travaux actifs et interactifs, utilisation du processeur, mémoire principale, stockage auxiliaire et pourcentage utilisé de l'ASP système, stockage temporaire, ainsi que la configuration de la partition (processeurs, capacité de traitement, mémoire).
Ses deux paramètres sont RESET_STATISTICS (par défaut 'NO') et DETAILED_INFO (par défaut 'BASIC'). Les colonnes ELAPSED_* mesurent l'activité depuis la dernière remise à zéro, ce qui permet de calculer des écarts entre deux appels, comme dans l'exemple d'IBM qui compare l'état à 60 secondes d'intervalle.
Elle remplace avantageusement un relevé manuel de WRKSYSSTS : on peut l'appeler régulièrement et stocker le résultat dans une table.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
SELECT TOTAL_JOBS_IN_SYSTEM, ACTIVE_JOBS_IN_SYSTEM, ELAPSED_TIME, ELAPSED_CPU_USED, ELAPSED_CPU_SHARED FROM TABLE(QSYS2.SYSTEM_STATUS('NO')) B
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| TOTAL_JOBS_IN_SYSTEM Nombre total de travaux dans le système | ACTIVE_JOBS_IN_SYSTEM Nombre de travaux actifs dans le système | ELAPSED_TIME Temps écoulé | ELAPSED_CPU_USED CPU utilisé écoulé | ELAPSED_CPU_SHARED CPU partagé écoulé |
|---|---|---|---|---|
| 1323 | 418 | 1 | 334.2 | NULL |
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
Examiner l'état du système écoulé sur une fenêtre de 60 secondes.
-- Description: Review elapsed system status over a 60 second window
DECLARE GLOBAL TEMPORARY TABLE SESSION.SYSTEM_STATUS_REFERENCE_POINT AS (
SELECT TOTAL_JOBS_IN_SYSTEM, ACTIVE_JOBS_IN_SYSTEM, ELAPSED_CPU_USED,
ELAPSED_CPU_SHARED, ELAPSED_CPU_UNCAPPED_CAPACITY
FROM TABLE(QSYS2.SYSTEM_STATUS('YES')) A
) WITH DATA WITH REPLACE;
CALL QSYS2.QCMDEXC('QSYS/DLYJOB DLY(60)');
SELECT B.TOTAL_JOBS_IN_SYSTEM - A.TOTAL_JOBS_IN_SYSTEM
AS DELTA_TOTAL_JOBS_IN_SYSTEM,
B.ACTIVE_JOBS_IN_SYSTEM - A.ACTIVE_JOBS_IN_SYSTEM
AS DELTA_ACTIVE_JOBS_IN_SYSTEM,
B.ELAPSED_TIME,
B.ELAPSED_CPU_USED - A.ELAPSED_CPU_USED
AS DELTA_ELAPSED_CPU_USED,
B.ELAPSED_CPU_SHARED - A.ELAPSED_CPU_SHARED
AS DELTA_ELAPSED_CPU_SHARED,
B.ELAPSED_CPU_UNCAPPED_CAPACITY - A.ELAPSED_CPU_UNCAPPED_CAPACITY
AS DELTA_ELAPSED_CPU_UNCAPPED_CAPACITY
FROM SESSION.SYSTEM_STATUS_REFERENCE_POINT A,
TABLE(QSYS2.SYSTEM_STATUS('NO')) B;
Bon à savoir
Pour mesurer une période, appelez la fonction avec 'YES' pour poser le point de référence, attendez, puis rappelez-la avec 'NO' : les colonnes ELAPSED_* couvrent cet intervalle.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
RESET_STATISTICS |
VARCHAR(3) | 'NO' | Réinitialiser les statistiques |
DETAILED_INFO |
VARCHAR(5) | 'BASIC' | Informations détaillées |
Colonnes renvoyées (113)
Afficher les 113 colonnes
| Colonne | Type | Signification |
|---|---|---|
TOTAL_JOBS_IN_SYSTEM |
INTEGER | Nombre total de travaux dans le système |
MAXIMUM_JOBS_IN_SYSTEM |
INTEGER | Nombre maximal de travaux dans le système |
ACTIVE_JOBS_IN_SYSTEM |
INTEGER | Nombre de travaux actifs dans le système |
INTERACTIVE_JOBS_IN_SYSTEM |
DECIMAL(10, 2) | Nombre de travaux interactifs dans le système |
JOBS_SIGNED_ON |
INTEGER | Nombre de travaux connectés |
JOBS_DISCONNECTED |
INTEGER | Nombre de travaux déconnectés |
JOBS_SUSPENDED_BY_SYSREQ |
INTEGER | Nombre de travaux suspendus par la demande système |
JOBS_SUSPENDED_BY_GROUP_JOB |
INTEGER | Nombre de travaux suspendus par un travail de groupe |
JOBS_PRINT_WAITING |
INTEGER | Nombre de travaux en attente d'impression |
BATCH_RUNNING |
INTEGER | Travaux par lots en cours d'exécution |
BATCH_WAITING_TO_RUN |
INTEGER | Travaux par lots en attente d'exécution |
BATCH_ENDING |
INTEGER | Travaux par lots en cours de fin |
BATCH_MESSAGE_WAIT |
INTEGER | Travaux par lots en attente de message |
BATCH_HELD_WHILE_RUNNING |
INTEGER | Travaux par lots retenus en cours d'exécution |
BATCH_HELD_ON_JOBQ |
INTEGER | Travaux par lots retenus dans une JOBQ |
BATCH_ON_HELD_JOBQ |
INTEGER | Travaux par lots sur une JOBQ retenue |
BATCH_ON_UNASSIGNED_JOBQ |
INTEGER | Travaux par lots sur une JOBQ non affectée |
BATCH_PRINT_WAITING |
INTEGER | Travaux par lots en attente d'impression |
ELAPSED_TIME |
INTEGER | Temps écoulé |
ELAPSED_CPU_USED |
DECIMAL(10, 2) | CPU utilisé écoulé |
ELAPSED_CPU_SHARED |
DECIMAL(10, 2) | CPU partagé écoulé |
ELAPSED_CPU_UNCAPPED_CAPACITY |
DECIMAL(10, 2) | CPU écoulé sur capacité non plafonnée |
CONFIGURED_CPUS |
INTEGER | Nombre de CPU configurés |
CPU_SHARING_ATTRIBUTE |
VARCHAR(8) | Attribut de partage du CPU |
CURRENT_CPU_CAPACITY |
DECIMAL(10, 2) | Capacité CPU courante |
AVERAGE_CPU_RATE |
DECIMAL(20, 2) | Taux moyen d'utilisation CPU |
AVERAGE_CPU_UTILIZATION |
DECIMAL(20, 2) | Utilisation moyenne du CPU |
MINIMUM_CPU_UTILIZATION |
DECIMAL(20, 2) | Utilisation minimale du processeur |
MAXIMUM_CPU_UTILIZATION |
DECIMAL(20, 2) | Utilisation maximale du processeur |
SQL_CPU_UTILIZATION |
DECIMAL(10, 2) | Utilisation du CPU par SQL |
MAIN_STORAGE_SIZE |
BIGINT | Taille de la mémoire principale |
SYSTEM_ASP_STORAGE |
BIGINT | Stockage de l'ASP système |
TOTAL_AUXILIARY_STORAGE |
BIGINT | Stockage auxiliaire total |
SYSTEM_ASP_USED |
DECIMAL(10, 2) | Pourcentage utilisé de l'ASP système |
CURRENT_TEMPORARY_STORAGE |
INTEGER | Stockage temporaire courant |
MAXIMUM_TEMPORARY_STORAGE_USED |
INTEGER | Stockage temporaire maximal utilisé |
PERMANENT_ADDRESS_RATE |
DECIMAL(6, 3) | Taux d'utilisation des adresses permanentes |
TEMPORARY_ADDRESS_RATE |
DECIMAL(6, 3) | Taux d'adresses temporaires |
TEMPORARY_256MB_SEGMENTS |
DECIMAL(10, 2) | Segments temporaires de 256 Mo |
TEMPORARY_4GB_SEGMENTS |
DECIMAL(10, 2) | Segments temporaires de 4 Go |
PERMANENT_256MB_SEGMENTS |
DECIMAL(10, 2) | Segments permanents de 256 Mo |
PERMANENT_4GB_SEGMENTS |
DECIMAL(10, 2) | Segments permanents de 4 Go |
TEMPORARY_JOB_STRUCTURES_AVAILABLE |
INTEGER | Structures de travaux temporaires disponibles |
PERMANENT_JOB_STRUCTURES_AVAILABLE |
INTEGER | Structures de travaux permanentes disponibles |
TOTAL_JOB_TABLE_ENTRIES |
INTEGER | Nombre total d'entrées de la table des travaux |
AVAILABLE_JOB_TABLE_ENTRIES |
INTEGER | Nombre d'entrées disponibles de la table des travaux |
IN_USE_JOB_TABLE_ENTRIES |
INTEGER | Entrées de la table des travaux utilisées |
ACTIVE_JOB_TABLE_ENTRIES |
INTEGER | Nombre d'entrées actives de la table des travaux |
JOBQ_JOB_TABLE_ENTRIES |
INTEGER | Entrées de la table des travaux en file d'attente |
OUTQ_JOB_TABLE_ENTRIES |
INTEGER | Nombre d'entrées de la table des travaux de sortie |
JOBLOG_PENDING_JOB_TABLE_ENTRIES |
INTEGER | Entrées de la table des travaux en attente d'historique |
HOST_NAME |
VARCHAR(255) | Nom d'hôte |
PARTITION_ID |
INTEGER | Identifiant de la partition |
NUMBER_OF_PARTITIONS |
INTEGER | Nombre de partitions |
ACTIVE_THREADS_IN_SYSTEM |
INTEGER | Nombre d'unités d'exécution actives dans le système |
RESTRICTED_STATE |
VARCHAR(3) | État restreint |
PARTITION_NAME |
GRAPHIC VARYING | Nom de la partition |
PARTITION_GROUP_ID |
INTEGER | Identifiant du groupe de partitions |
SHARED_PROCESSOR_POOL_ID |
INTEGER | Identifiant du pool de processeurs partagés |
DEFINED_MEMORY |
BIGINT | Mémoire définie |
MINIMUM_MEMORY |
BIGINT | Mémoire minimale |
MAXIMUM_MEMORY |
BIGINT | Mémoire maximale |
MEMORY_INCREMENT |
BIGINT | Incrément de mémoire |
DEDICATED_PROCESSORS |
VARCHAR(3) | Nombre de processeurs dédiés |
PHYSICAL_PROCESSORS |
INTEGER | Nombre de processeurs physiques |
PHYSICAL_PROCESSORS_SHARED_POOL |
INTEGER | Processeurs physiques du pool partagé |
MAXIMUM_PHYSICAL_PROCESSORS |
INTEGER | Nombre maximal de processeurs physiques |
DEFINED_VIRTUAL_PROCESSORS |
INTEGER | Nombre de processeurs virtuels définis |
VIRTUAL_PROCESSORS |
INTEGER | Nombre de processeurs virtuels |
MINIMUM_VIRTUAL_PROCESSORS |
INTEGER | Nombre minimal de processeurs virtuels |
MAXIMUM_VIRTUAL_PROCESSORS |
INTEGER | Nombre maximal de processeurs virtuels |
DEFINED_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement définie |
PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement |
UNALLOCATED_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement non allouée |
MINIMUM_REQUIRED_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement minimale requise |
MAXIMUM_LICENSED_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement maximale sous licence |
MINIMUM_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement minimale |
MAXIMUM_PROCESSING_CAPACITY |
DECIMAL(5, 2) | Capacité de traitement maximale |
PROCESSING_CAPACITY_INCREMENT |
DECIMAL(5, 2) | Incrément de capacité de traitement |
DEFINED_INTERACTIVE_CAPACITY |
DECIMAL(5, 2) | Capacité interactive définie |
INTERACTIVE_CAPACITY |
DECIMAL(5, 2) | Capacité interactive |
INTERACTIVE_THRESHOLD |
DECIMAL(5, 2) | Seuil interactif |
UNALLOCATED_INTERACTIVE_CAPACITY |
DECIMAL(5, 2) | Capacité interactive non allouée |
MINIMUM_INTERACTIVE_CAPACITY |
DECIMAL(5, 2) | Capacité interactive minimale |
MAXIMUM_INTERACTIVE_CAPACITY |
DECIMAL(5, 2) | Capacité interactive maximale |
DEFINED_VARIABLE_CAPACITY_WEIGHT |
INTEGER | Poids de capacité variable défini |
VARIABLE_CAPACITY_WEIGHT |
INTEGER | Poids de capacité variable |
UNALLOCATED_VARIABLE_CAPACITY_WEIGHT |
INTEGER | Poids de capacité variable non alloué |
HARDWARE_MULTITHREADING |
VARCHAR(3) | Multithreading matériel |
BOUND_HARDWARE_THREADS |
VARCHAR(3) | Unités d'exécution matérielles liées |
THREADS_PER_PROCESSOR |
INTEGER | Unités d'exécution par processeur |
DISPATCH_LATENCY |
DECIMAL(20, 0) | Latence de répartition |
DISPATCH_WHEEL_ROTATION_TIME |
DECIMAL(20, 0) | Durée de rotation de la roue de répartition |
TOTAL_CPU_TIME |
DECIMAL(20, 0) | Temps CPU total |
INTERACTIVE_CPU_TIME |
DECIMAL(20, 0) | Temps CPU interactif |
INTERACTIVE_CPU_TIME_ABOVE_THRESHOLD |
DECIMAL(20, 0) | Temps CPU interactif au-dessus du seuil |
UNUSED_CPU_TIME_SHARED_POOL |
DECIMAL(20, 0) | Temps CPU inutilisé du pool partagé |
MACHINE_TYPE |
CHAR(4) | Type de machine |
MACHINE_MODEL |
CHAR(4) | Modèle de la machine |
SERIAL_NUMBER |
CHAR(8) | Numéro de série |
MACHINE_SERIAL_NUMBER |
CHAR(8) | Numéro de série de la machine |
ATTENTION_LIGHT |
VARCHAR(3) | Voyant d'attention |
IPL_MODE |
VARCHAR(9) | Mode d'IPL |
IPL_TYPE |
CHAR(1) | Type d'IPL |
JOURNAL_RECOVERY_COUNT |
INTEGER | Nombre de récupérations du journal |
JOURNAL_CACHE_WAIT_TIME |
INTEGER | Temps d'attente du cache du journal |
JOB_SCHEDULE_STATUS |
VARCHAR(8) | Statut de l'ordonnancement des travaux |
ACCESS_PATH_TARGET_RECOVERY_TIME |
VARCHAR(7) | Temps de reprise cible des chemins d'accès |
SMAPP_INCLUDE_ACCESS_PATHS |
VARCHAR(9) | Inclusion des chemins d'accès par SMAPP |
ACCESS_PATH_ESTIMATED_RECOVERY_TIME |
INTEGER | Temps de reprise estimé des chemins d'accès |
ACCESS_PATH_ESTIMATED_INELIGIBLE_RECOVERY_TIME |
INTEGER | Temps de reprise estimé des chemins d'accès non éligibles |
SMAPP_DISK_STORAGE_USED |
BIGINT | Espace disque utilisé par SMAPP |
POWER_ENTERPRISE_POOL_PROCESSORS |
INTEGER | Processeurs du pool Power Enterprise |