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.
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.
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 |
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) |
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 # |
Le fichier /etc/project peut contenir plusieurs paramètres de contrôle de ressources pour chaque projet ainsi que diverses valeurs de seuil pour chaque contrôle. Les valeurs de seuils sont définies dans des clauses action et doivent être séparées par des virgules.
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.
Exécutez la commande projmod avec les options -s et -K pour appliquer les contrôles de ressources au projet x-files :
# projmod -s -K 'task.max-lwps=(basic,10,none),(privileged,500,deny); process.max-file-descriptor=(basic,128,deny)' x-filesone line in file |
Les contrôles définis sont les suivants :
Un contrôle de base sans action pour le nombre maximum de LWP par tâche.
Un contrôle deny privilégié quant au nombre maximum de LWP par tâche. Ce contrôle provoque l'échec de la création d'un LWP en cas de dépassement du nombre maximum autorisé, comme le montre l'exemple proposé dans la section Définition du nombre maximum de processus légers (LWP) pour chaque tâche d'un projet.
Nombre limité de descripteurs de fichier par processus au niveau de base, ce qui provoque l'échec d'un appel open en cas de dépassement du seuil maximum.
Vérifiez l'entrée dans le fichier en utilisant l'une des méthodes suivantes :
Type :
# projects -l . . . x-files projid : 100 comment: "" users : (none) groups : (none) attribs: process.max-file-descriptor=(basic,128,deny) task.max-lwps=(basic,10,none),(privileged,500,deny) one line in file |
Type :
# cat etc/project . . . x-files:100::::process.max-file-descriptor=(basic,128,deny); task.max-lwps=(basic,10,none),(privileged,500,deny) one line in file |