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

Configuration des parts de CPU

La configuration des parts de CPU est gérée par le service de noms en tant que propriété de la base de données project.

Lors de la création de la première tâche (ou du premier processus) associée à un projet au moyen de la fonction de bibliothèque setproject(3PROJECT), le nombre de parts de CPU définies comme contrôle de ressource project.cpu-shares dans la base de données project est communiqué au noyau. Les projets pour lesquels aucun contrôle de ressource project.cpu-shares n'a été défini se voient attribuer une part.

Dans l'exemple qui suit, cette entrée du fichier /etc/project fixe le nombre de parts pour le projet fichiers-x à 5 :


x-files:100::::project.cpu-shares=(privileged,5,none)

Si vous changez le nombre de parts de CPU alloué à un projet dans la base de données alors que des processus sont déjà en cours d'exécution, ce nombre n'est pas modifié à ce stade. Il est nécessaire, en effet, de redémarrer le projet pour que le changement prenne effet.

Si vous souhaitez modifier temporairement le nombre de parts attribué à un projet sans changer les attributs du projet dans la base de données project, utilisez la commande prctl. Par exemple, pour remplacer la valeur du contrôle des ressources project.cpu-shares du projet fichiers-x par 3 lorsque les processus associés à ce projet sont exécutés, tapez ce qui suit :


# prctl -r -n project.cpu-shares -v 3 -i project x-files

Pour plus d'informations, voir la page de manuel prctl(1).

-r

Remplace la valeur actuelle pour le contrôle de ressource nommé.

-n nom

Définit le nom du contrôle de ressource.

-v val

Spécifie la valeur du contrôle de ressource.

-i typeid

Précise le type d'ID de l'argument suivant.

fichiers-x

Indique l'objet concerné par le changement. Dans cet exemple, il s'agit du projet fichiers-x.

Le projet system avec pour ID de projet 0 comprend l'ensemble des démons système démarrés par les scripts d'initialisation lancés au démarrage. system peut être considéré comme un projet avec un nombre illimité de parts. Cela signifie que system est toujours programmé en premier, quel que soit le nombre de parts alloué aux autres projets. Si vous ne souhaitez pas accorder au projet system un nombre illimité de parts, il suffit de définir le nombre de parts de ce projet dans la base de données project.

Comme indiqué précédemment, les processus appartenant aux projets disposant d'aucune part possèdent la priorité système la plus basse (zéro). Les projets dotés d'une ou plusieurs parts s'exécutent aux niveaux de priorité un ou plus. Par conséquent, les projets dépourvus de part sont programmés à condition qu'aucun projet avec des parts ne demande de ressources de CPU.

Le nombre maximum de parts susceptible d'être alloué à un projet est de 65535.