Guide d'administration du système Solaris Resource Manager 1.0 pour Solaris 2.6 (Édition plateforme SPARC)

Contrôle des ressources

Solaris Resource Manager effectue le contrôle des ressources système suivantes : usage de l'UC (taux d'utilisation du processeur), mémoire virtuelle, nombre de processus, nombre de connexions et temps de connexion du terminal.

Solaris Resource Manager fait le suivi de l'usage de chaque ressource par utilisateur. Pour toutes les ressources à l'exception de l'usage de l'UC, vous pouvez assigner aux utilisateurs des limites strictes d'usage des ressources. Avec une limite stricte, les tentatives de consommation de ressources échouent si l'utilisateur atteint cette limite. Les limites strictes sont appliquées directement soit par le noyau, soit par le logiciel responsable de la gestion de la ressource en question. Si la valeur de la limite est zéro, il n'y a pas de limite. Tous les attributs relatifs aux limites du noeud limite racine doivent être laissés à zéro.

Solaris Resource Manager élimine graduellement l'usage antérieur, de sorte que seul l'usage la plus récente soit significative. L'administrateur du système définit un paramètre de demi-vie qui contrôle le taux de décroissance. Une longue demi-vie favorise un usage uniforme, convenant aux longs traitements par lots, tandis qu'une demi-vie courte favorise les utilisateurs interactifs.

Généralement, toutes les ressources système peuvent être divisées en deux classes : les ressources fixes (non renouvelables) et les ressources renouvelables. Solaris Resource Manager gère différemment ces deux types de ressources.

Ressources fixes

Les ressources fixes, ou non renouvelables, sont disponibles en quantité limitée. Par exemple : la mémoire virtuelle, le nombre de processus, le nombre de connexions et le temps de connexion. Les ressources fixes peuvent être consommées (attribuées) et libérées (désattribuées), mais aucune autre entité ne peut utiliser la ressource avant que son propriétaire ne la libère. Solaris Resource Manager emploie un modèle d'usage et de limite pour contrôler la consommation des ressources fixes. L'usage est défini comme la ressource en cours d'utilisation, et la limite est le niveau maximum d'usage permis par Solaris Resource Manager.

Ressources renouvelables

Les ressources renouvelables sont celles qui sont continuellement disponibles, par exemple le temps de processeur. Les ressources renouvelables peuvent uniquement être consommées, et une fois consommées, ne peuvent plus être récupérées. À tout instant, la disponibilité d'une ressource renouvelable est limitée. Si elle n'est pas consommée immédiatement, elle ne sera plus disponible à l'avenir. (On peut faire une analogie avec la lumière du soleil. Une quantité fixe de lumière nous parvient du soleil à un instant donné, mais nous continuerons à en recevoir durant des millions d'années.) Pour cette raison, les ressources renouvelables peuvent être réassignées à d'autres utilisateurs sans réattribution explicite afin d'éviter le gaspillage. Solaris Resource Manager emploie un modèle d'usage, de limite et de décroissance pour contrôler le taux de consommation d'une ressource renouvelable par un utilisateur. L'usage est défini comme la quantité totale de ressources utilisées ; une limite fixe le taux maximum d'usage par rapport aux autres utilisateurs. La décroissance désigne la période de réduction de l'usage historique. Le quantum de ressource suivant, par exemple un top d'horloge, sera attribué au noeud limite actif ayant la valeur d'usage décrue la plus faible par rapport à sa part attribuée. La valeur d'usage décrue mesure l'utilisation totale dans le temps, moins une partie de l'usage historique déterminée selon un modèle de décroissance à demi-vie.

Les ressources de l'UC sont contrôlées par l'ordonnanceur SHR de Solaris Resource Manager. Le temps de processeur est attribué dynamiquement aux utilisateurs proportionnellement au nombre de parts qu'ils détiennent (par analogie avec les parts d'une compagnie), et en proportion inverse de leur usage récent. L'ordonnanceur joue un autre rôle important : en plus de gérer l'ordonnancement d'unités d'exécution individuelles (en termes techniques, dans Solaris, l'entité ordonnancée est appelée processus léger), il répartit les ressources de l'UC entre les utilisateurs.

Chaque utilisateur possède également un ensemble d'indicateurs, qui sont en fait des variables booléennes permettant d'activer ou de désactiver certains privilèges système, par exemple la connexion. Les indicateurs peuvent être réglés individuellement par utilisateur, ou être hérités d'un noeud limite père.

Les taux d'usage, les limites et les indicateurs peuvent être consultés par tout utilisateur, mais ne peuvent être modifiés que par les utilisateurs détenant des privilèges administratifs.