Guide d'administration du système Solaris Resource Manager 1.3

Paramètres globaux de Solaris Resource Manager - commande srmadm

La commande srmadm permet à l'administrateur de définir, de modifier et d'afficher les paramètres globaux de Solaris Resource Manager. Pour de plus amples informations sur les paramètres, reportez-vous à la page srmadm(1MSRM) du manuel.

Vous pouvez exécuter la commande srmadm autant de fois que nécessaire pour définir divers paramètres. Il n'est pas nécessaire de tous les inclure dans un même appel. La commande srmadm permet également de modifier les paramètres d'exploitation durant l'exécution du système Solaris Resource Manager, bien que certaines précautions doivent être prises.

Les options srmadm d'activation et de désactivation des fonctions principales de Solaris Resource Manager ont une importance particulière pour les administrateurs. à savoir :

fileopen[={y|n}]

La base de données par défaut, /var/srm/srmDB, peut être remplacée au moyen de l'option -f. Il faut noter que la fermeture du fichier de base de données de Solaris Resource Manager en cours de fonctionnement est une action d'urgence. Elle a plusieurs conséquences indésirables : tous les processus continueront de fonctionner sur le noeud limite root délégué, ce qui pourrait leur accorder des privilèges trop élevés ; l'ordonnanceur SHR est désactivé ; Solaris Resource Manager cesse d'appliquer les limites. Lorsque cette option est activée, Solaris Resource Manager n'ouvre pas de base de données des limites, et sa mémoire cache ne contient que le noeud limite root délégué auquel tous les processus sont reliés.

share[={y|n}]

Lorsque cette option est activée, l'ordonnanceur SHR de Solaris Resource Manager est utilisé et l'ordonnancement de l'UC est effectué en fonction de l'algorithme d'utilisation dynamique et de décroissance de Solaris Resource Manager. Ce mode peut être choisi uniquement lorsque le mode fileopen est activé. Si cette option est désactivée, les calculs d'utilisation de l'ordonnanceur SHR cessent, et les processus sont ordonnancés avec priorités égales fixes, selon un mode de "round-robin".

limits[={y|n}]

Lorsque cette option est activée, Solaris Resource Manager applique les limites de mémoire virtuelle et de processus. Ce mode peut être choisi uniquement lorsque le mode fileopen est activé. Si cette option est désactivée, Solaris Resource Manager continue de mettre à jour les attributs d'utilisation, mais n'applique pas les limites.

adjgroups[={y|n}]

Lorsque cette option est activée, l'ajustement global des parts effectives des groupes de l'ordonnanceur SHR de Solaris Resource Manager est employé. Dans la plupart des cas, il est recommandé d'activer cette option. Durant chaque intervalle d'exécution, les utilisations normalisées de toutes les entrées de limite sont recalculées. Si le mode d'ordonnancement adjgroups est activé, un traitement supplémentaire des utilisations normalisées est effectué comme suit. L'ordonnanceur effectue une passe sur l'arbre d'ordonnancement, en comparant la part réelle récente de chaque groupe à sa part attribuée. Les groupes qui ont reçu moins que leur juste part sont biaisés de manière à recevoir une part réelle supérieure lors de l'intervalle d'exécution suivant. Ainsi, les groupes recevront leur part équitable des ressources de l'UC lorsque possible, quelles que soient les actions de leurs membres.

limshare[={y|n}]

Lorsque cette option est activée, l'ordonnanceur SHR applique un plafond de priorité afin de limiter les parts effectives de tous les utilisateurs pour empêcher les utilisateurs ayant une très faible attribution d'acquérir brièvement presque 100 % de l'UC. L'état activé est recommandé.

Le taux de service de l'UC d'un utilisateur est à peu près inversement proportionnel à son utilisation. Si un utilisateur n'a pas été actif depuis longtemps, son utilisation diminue à près de zéro. Lorsque cet utilisateur ouvre une session (ou que le noeud limite devient actif d'une manière quelconque), durant l'intervalle d'exécution suivant, la priorité des processus de l'utilisateur pourrait être suffisamment élevée pour monopoliser l'UC.

Si l'indicateur d'ordonnancement limshare est activé, l'ordonnanceur évalue la part réelle qu'un noeud limite recevra avant l'intervalle d'exécution suivant. Si le résultat dépasse la part attribuée à l'utilisateur par un certain facteur (voir maxushare), l'utilisation normalisée de l'utilisateur est modifié de manière à empêcher cela.

Il existe aussi deux paramètres facultatifs de la commande srmadm utiles à l'administrateur.

Voici des exemples représentatifs de commandes srmadm.

Pour lancer Solaris Resource Manager en activant l'ordonnanceur SHR et les limites de ressources :

# srmadm set -f /var/srm/srmDB fileopen=y:share=y:limits=y 

Pour régler le taux de décroissance d'utilisation d'UC avec une demi-vie de 5 minutes :

# srmadm set usagedecay=300s 

Pour afficher les réglages actuels des indicateurs et les charges :

% srmadm 

Pour afficher tous les réglages par défaut :

% srmadm show -dv 

Désactivation de Solaris Resource Manager

La commande srmadm(1MSRM ) permet de désactiver Solaris Resource Manager en désactivant l'indicateur fileopen : tous les processus sont transférés vers le noeud limite root délégué, les autres noeuds limites modifiés dans la mémoire cache sont transférés sur le disque et la base de données des limites est fermée. Cela désactive automatiquement les indicateurs part et limits, ainsi que, respectivement, l'ordonnanceur SHR et l'application des limites. Au besoin, vous pouvez désactiver séparément les indicateurs part et limits en laissant la base de données des limites ouverte. Cela est préférable à la fermeture du fichier, car les processus peuvent demeurer reliés à leur noeud limite correspondant.

Il faut noter que si seul l'ordonnanceur de Solaris Resource Manager est désactivé en cours d'exécution, cela n'aura pour effet que d'interrompre l'algorithme d'utilisation et de décroissance. L'ordonnanceur continue de traiter les processus dans la classe d'ordonnancement SHR, mais à mesure que chacun d'eux reçoit une nouvelle priorité, la même valeur est employée, ce qui produit un ordonnancement simple à "recherche circulaire".

Si vous réactivez Solaris Resource Manager en ouvrant le fichier et en définissant les indicateurs share et/ou limits après la fermeture du fichier, les processus existants ne sortiront pas du noeud limite root. Il est déconseillé de fermer la base de données de Solaris Resource Manager au cours de son fonctionnement normal. Autrement, vous devrez réinitialiser le système pour vous assurer que les processus sont correctement reliés aux noeuds limites.