Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Utilisation de l'ordonnanceur FSS avec d'autres classes de programmation

Par défaut, la classe de programmation FSS utilise la même plage de priorités (0 à 59) que les classes de programmation TS (partage de temps), IA (interactive) et FX (priorité fixe). Il vaut donc mieux éviter que des processus de ces classes de programmation partagent le même jeu de processeurs. Le fait de combiner des processus des classes FSS, TS, IA et FX risquerait de provoquer un comportement inattendu.

En revanche, si vous utilisez des jeux de processeurs, il est possible de combiner des classes TS, IA et FX avec l'ordonnanceur FSS sur un même système. Tous les processus s'exécutant sur chaque jeu de processeurs doivent, cependant, faire partie d'une seule classe de programmation, pour éviter qu'ils entrent en compétition pour les mêmes CPU. Il faut veiller notamment à ne pas utiliser l'ordonnanceur FX en parallèle avec la classe de programmation FSS, sauf si vous tirez parti des jeux de processeurs. Cela empêche les applications de la classe FX d'utiliser les priorités les plus élevées au détriment des applications de la classe FSS.

Vous pouvez combiner des processus des classes TS et IA au sein du même jeu de processeurs ou sur le même système sans jeu de processeurs.

Le système Solaris propose également un ordonnanceur en temps réel (RT) aux utilisateurs dotés des privilèges de superutilisateur. Par défaut, la classe de programmation RT utilise les priorités système d'une plage différente (entre 100 et 159, en général) de celle de la classe FSS. Comme les classes RT et FSS utilisent des plages de priorités distinctes (sans risque de se chevaucher), il est possible de les faire cohabiter au sein du même jeu de processeurs. La classe de programmation FSS n'offre, cependant, aucun contrôle sur les processus s'exécutant dans la classe RT.

Sur un système quadriprocesseur, par exemple, un processus RT à simple thread peut accaparer un processeur entier si le processus est lié à la CPU. Si le système exécute également la classe FSS, des processus utilisateur normaux se disputent les trois CPU restantes. Il faut noter que le processus RT n'utilise pas nécessairement l'UC en continu. Lorsqu'il est inactif, la classe FSS tire parti des quatre processeurs.

Vous pouvez saisir la commande suivante pour identifier les classes de programmation sur lesquelles s'exécutent les jeux de processeurs et vous assurer que chaque jeu de processeurs est configuré pour fonctionner en mode TS, IA, FX ou FSS.


$ ps -ef -o pset,class | grep -v CLS | sort | uniq
1 FSS
1 SYS
2 TS
2 RT
3 FX