Valeur système IBM i (AS/400) · Contrôle du système
QTHDRSCAFN
Affinité des unités d'exécution (regroupement et niveau)
Détermine si les unités secondaires d'un travail partagent les processeurs et la mémoire de l'unité initiale, et avec quelle rigueur le système respecte cette préférence.
À quoi elle sert
La valeur comporte deux parties de 10 caractères. La première règle le regroupement : *GROUP donne aux unités secondaires la même préférence de processeurs et de mémoire que l'unité initiale, *NOGROUP ne leur en donne pas. La seconde règle le niveau : *NORMAL permet d'utiliser n'importe quelle ressource si celles préférées ne sont pas disponibles, *HIGH impose d'attendre les ressources préférées.
Les charges multithread qui partagent des données entre unités d'un même travail peuvent gagner avec *GROUP. Celles qui exploitent toute la puissance de la machine gagnent plutôt avec *NOGROUP. C'est un réglage d'exploitant ou de spécialiste performance.
Les valeurs possibles
| Valeur | Signification |
|---|---|
*NOGROUP | Les unités secondaires n'ont pas de préférence pour les ressources de l'unité initiale (valeur livrée). |
*GROUP | Les unités secondaires ont la même préférence de processeurs et de mémoire que l'unité initiale. |
*NORMAL | Niveau d'affinité normal : une unité peut utiliser n'importe quelle ressource si les siennes sont indisponibles (valeur livrée). |
*HIGH | Niveau d'affinité élevé : l'unité n'utilise que ses ressources et attend qu'elles se libèrent. |
Prise en compte : Immédiate pour les travaux qui deviennent actifs ensuite et lisent la valeur système ; les travaux et unités déjà actifs gardent leurs valeurs de départ.
La valeur recommandée
Conserver la valeur livrée, *NOGROUP *NORMAL, tant qu'aucune mesure de performance ne justifie autre chose. *HIGH est le réglage le plus risqué : il peut laisser des unités en attente alors que d'autres ressources sont libres.
La changer
CHGSYSVAL SYSVAL(QTHDRSCAFN) VALUE('*NOGROUP *NORMAL')
Pour lire la valeur actuelle et celle de la livraison, en SQL :
SELECT SYSTEM_VALUE_NAME, SYSTEM_VALUE, SHIPPED_DEFAULT_VALUE
FROM QSYS2.SYSTEM_VALUE_INFO
WHERE SYSTEM_VALUE_NAME = 'QTHDRSCAFN'
Le piège
Le changement ne touche pas les travaux déjà démarrés, ni les travaux lancés par eux qui héritent de leurs attributs (travail immédiat, unités secondaires). Il faut donc attendre de nouveaux travaux pour juger de l'effet. Les deux parties occupent chacune 10 caractères : respectez les espaces de remplissage dans la valeur. La modification exige *ALLOBJ et *SECADM.