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

ProcedureDéfinition du nombre maximum de processus légers (LWP) pour chaque tâche d'un projet

Cette procédure a pour objet d'ajouter un projet intitulé x-files dans le fichier /etc/project et de fixer un nombre maximum de LWP pour une tâche créée dans le projet.

  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. Exécutez la commande projadd avec l'option -K pour créer un projet appelé x-files. Définissez le nombre maximum de LWP (3 ) pour chaque tâche créée dans le projet.


    # projadd -K 'task.max-lwps=(privileged,3,deny)' x-files
    
  3. Vérifiez l'entrée dans le fichier /etc/project en utilisant l'une des méthodes suivantes :

    • Type :


      # projects -l
      system
              projid : 0
              comment: ""
              users  : (none)
              groups : (none)
              attribs: 
      .
      .
      .
      x-files
              projid : 100
              comment: ""
              users  : (none)
              groups : (none)
              attribs: task.max-lwps=(privileged,3,deny)
    • Type :


      # cat /etc/project
      system:0:System:::
      .
      .
      .
      x-files:100::::task.max-lwps=(privileged,3,deny)

Exemple 7–1 Exemple de session

Après avoir effectué toutes les étapes de cette procédure, lorsque le superutilisateur créera une tâche dans le projet x-files en rejoignant le projet à l'aide de la commande newtask , il n'aura pas la possibilité de définir plus de trois nouveaux processus légers (LWP) pendant l'exécution de cette tâche. Cela est illustré dans la session annotée suivante.


# newtask -p x-files csh

# prctl -n task.max-lwps $$
process: 111107: csh
NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
task.max-lwps
        privileged       3       -   deny                      -
        system       2.15G     max   deny                      -
# id -p
uid=0(root) gid=1(other) projid=100(x-files)

# ps -o project,taskid -p $$
 PROJECT TASKID
 x-files    73

# csh        /* creates second LWP */

# csh        /* creates third LWP */

# csh        /* cannot create more LWPs */
Vfork failed
#