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

Chapitre 9 Administration de l'ordonnanceur FSS (tâches)

Ce chapitre explique comment utiliser l'ordonnanceur FSS (Fair Share Scheduler).

Pour avoir un aperçu de l'ordonnanceur FSS, reportez-vous au Chapitre 8Ordonnanceur FSS (présentation). Pour plus d'informations sur la classe de programmation en cas d'utilisation de zones, reportez-vous à la section Classe de programmation dans une zone.

Administration de l'ordonnanceur FSS (liste des tâches)

Tâche 

Description 

Référence 

Gérer l'utilisation de la CPU 

Gérez l'utilisation de la CPU pour les projets indépendants et les projets des jeux de processeurs. 

Contrôle de l'ordonnanceur FSS

Définir la classe de programmation par défaut 

Choisissez l'ordonnanceur FSS comme ordonnanceur par défaut pour le système. 

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

Transférer des processus en cours d'une classe de programmation à une autre (vers une classe FSS, par exemple) 

Déplacez manuellement des processus d'une classe de programmation à une autre sans changer la classe de programmation par défaut et sans redémarrer. 

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

Transférer tous les processus en cours de toutes les classes de programmation à une autre (vers une classe FSS, par exemple) 

Déplacez manuellement des processus dans toutes les classes de programmation vers une autre sans changer la classe de programmation par défaut et sans redémarrer. 

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

Transférer les processus d'un projet vers une autre classe de programmation, telle que la classe FSS 

Déplacez manuellement les processus d'un projet depuis leur classe de programmation actuelle vers une autre classe de programmation. 

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

Examiner et régler les paramètres FSS 

Ajustez la valeur de quantum de l'ordonnanceur. Le quantum est le délai pendant lequel un thread est autorisé à s'exécuter avant de devoir abandonner le processeur.

Ajustement des paramètres de l'ordonnanceur

Contrôle de l'ordonnanceur FSS

Vous pouvez faire appel à la commande prstat décrite dans la page de manuel prstat(1M) pour contrôler la façon dont les projets actifs utilisent la CPU .

Il peut être intéressant également de tirer parti des données de comptabilisation étendue pour les tâches afin d'obtenir des statistiques par projet sur la quantité de ressources CPU utilisée sur des périodes plus longues. Pour plus d'informations, reportez-vous au Chapitre 4Comptabilisation étendue (présentation).

ProcedureContrôle de l'utilisation de la CPU par projet

  1. Pour contrôler les ressources CPU utilisées par les projets exécutés sur le système, utilisez la commande prstat avec l'option -J.


    % prstat -J
    

ProcedureContrôle de l'utilisation de la CPU par projet dans les jeux de processeurs

  1. Pour contrôler les ressources CPU utilisées par les projets dans une liste de jeux de processeurs, entrez l'instruction suivante :


    % prstat -J -C pset-list
    

    liste-jeuproc représente une liste des ID de jeux de processeurs séparés par des virgules.

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