Administration de la gestion des ressources dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Dé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 qu'utilisateur root ou prenez un rôle équivalent.
  2. Exécutez la commande projadd avec l'option –K pour créer un projet nommé 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 :
    • Entrez :

      # 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)
    • Entrez :

      # 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 l'utilisateur root créera une tâche dans le projet x-files en rejoignant le projet à l'aide de la commande newtask, il ne sera pas possible de créer 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
        usage            3
        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
#