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

Contrôle de l'ordonnanceur FSS

Vous pouvez appliquer à l'ordonnanceur FSS les commandes utilisées pour les autres classes de programmation dans le système Solaris. Vous êtes libre de définir la classe de programmation, de configurer les paramètres ajustables de l'ordonnanceur et de paramétrer les propriétés des différents processus.

Sachez qu'il est possible d'utiliser la commande svcadm restart pour redémarrer le service de l'ordonnanceur. Pour plus d'informations, voir la page de manuel svcadm(1M).

ProcedureSélection de l'ordonnanceur FSS comme classe de programmation par défaut

Il est indispensable de désigner l'ordonnanceur FSS comme ordonnanceur par défaut sur votre système pour que les affectations de parts de CPU prennent effet.

Il suffit de combiner les commandes priocntl et dispadmin pour s'assurer que l'ordonnanceur FSS soit adopté par défaut immédiatement et après le redémarrrage.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Sélectionnez FSS comme ordonnanceur par défaut du système.


    # dispadmin -d FSS
    

    Ce changement sera effectif lors du prochain redémarrage. Après le redémarrage, tous les processus du système s'exécutent dans la classe de programmation FSS.

  3. Faites en sorte que cette configuration prenne effet immédiatement, sans avoir à redémarrer.


    # priocntl -s -c FSS -i all
    

ProcedureTransfert manuel de processus de la classe TS vers la classe FSS

Vous pouvez déplacer manuellement des processus d'une classe de programmation à une autre sans changer la classe de programmation par défaut et sans redémarrer. Cette procédure montre comment déplacer manuellement des processus de la classe de programmation TS vers la classe de programmation FSS.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Déplacez le processus init (pid 1) vers la classe de programmation FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Transférez tous les processus de la classe de programmation TS vers la classe de programmation FSS.


    # priocntl -s -c FSS -i class TS
    

    Remarque –

    Tous les processus s'exécutent à nouveau dans la classe de programmation TS après le redémarrage.


ProcedureTransfert manuel de toutes les classes de processus vers la classe FSS

Il est possible que vous utilisiez une classe par défaut différente de la classe TS. Admettons, par exemple, que votre système exécute un environnement de multifenêtrage faisant appel à la classe IA par défaut. Vous avez la possibilité de transférer tous les processus dans la classe de programmation FSS sans avoir à changer la classe de programmation par défaut et sans avoir à redémarrer.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Déplacez le processus init (pid 1) vers la classe de programmation FSS.


    # priocntl -s -c FSS -i pid 1
    
  3. Transférez tous les processus de leur classe de programmation actuelle vers la classe de programmation FSS.


    # priocntl -s -c FSS -i all
    

    Remarque –

    Tous les processus s'exécutent à nouveau dans la classe de programmation par défaut après le redémarrage.


ProcedureTransfert manuel des processus d'un projet vers la classe FSS

Vous pouvez déplacer manuellement les processus d'un projet depuis leur classe de programmation actuelle vers la classe de programmation FSS.

  1. Connectez-vous en tant que superutilisateur ou prenez un rôle équivalent.

    Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations au sujet des rôles, reportez-vous à la section Using the Solaris Management Tools With RBAC (Task Map) du System Administration Guide: Basic Administration.

  2. Déplacez les processus s'exécutant dans l'ID de projet 10 vers la classe de programmation FSS.


    # priocntl -s -c FSS -i projid 10
    

    Les processus du projet s'exécutent à nouveau dans la classe de programmation par défaut après le redémarrage.

Ajustement des paramètres de l'ordonnanceur

Vous pouvez vous servir de la commande dispadmin pour afficher ou changer les paramètres de programmation des processus lorsque le système est en cours d'exécution. Utilisez, par exemple, la commande dispadmin pour examiner et peaufiner la valeur de quantum de l'ordonnanceur FSS. Le quantum est le délai pendant lequel un thread est autorisé à s'exécuter avant de devoir abandonner le processeur.

Pour afficher le quantum actuel pour l'ordonnanceur FSS lorsque le système est en cours d'exécution, entrez l'instruction suivante :


$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

Lorsque vous utilisez l'option -g, vous pouvez également lui associer l'option -r afin de spécifier la résolution d'affichage des valeurs de quantum. En l'absence de résolution, les valeurs de quantum sont affichées en millisecondes par défaut.


$ dispadmin -c FSS -g -r 100
#
# Fair Share Scheduler Configuration
#
RES=100
#
# Time Quantum
#
QUANTUM=11

Pour définir les paramètres de programmation pour la classe de programmation FSS, exécutez dispadmin -s. Les valeurs du fichier doivent correspondre au format généré par l'option -g. Ces valeurs remplacent les valeurs actuelles dans le noyau. Entrez la commande suivante :


$ dispadmin -c FSS -s file