Ce chapitre décrit comment configurer et gérer des pools de ressources sur votre système.
Pour plus d'informations sur les pools de ressources, reportez-vous au Chapitre 12Pools de ressources (présentation).
Tâche |
Description |
Voir |
---|---|---|
Activer ou désactiver les pools de ressources |
Activez ou désactivez les pools de ressources sur votre système. | |
Activer ou désactiver les pools de ressources dynamiques |
Activez ou désactivez les pools de ressources dynamiques sur votre système. | |
Créer une configuration de pools de ressources statique |
Créez un fichier de configuration statique correspondant à la configuration dynamique actuelle. Pour plus d'informations, reportez-vous à la section Structure des pools de ressources. | |
Modifier une configuration de pools de ressources |
Redéfinissez une configuration de pools sur votre système en créant, par exemple, des pools supplémentaires. | |
Associer un pool de ressources à une classe de programmation |
Associez un pool à une classe de programmation pour permettre à tous les processus liés de tirer parti de l'ordonnanceur indiqué. | |
Définir des contraintes de configuration et des objectifs de configuration |
Fixez des objectifs pour la commande poold lors d'une action corrective. Pour plus d'informations sur la configuration des objectifs, reportez-vous à la section Présentation de poold. |
Définition des contraintes de configuration et Établissement des objectifs de configuration |
Définir le niveau de consignation |
Spécifiez le niveau des informations consignées dans le journal généré par poold. | |
Utiliser un fichier texte avec la commande poolcfg |
Exécutez la commande poolcfg de façon à tirer parti des entrées provenant d'un fichier texte. | |
Transférer des ressources dans le noyau. |
Transférer des ressources dans le noyau. telles que des ressources avec des ID spécifiques vers un jeu de destination. | |
Activer une configuration de pools |
Activez la configuration dans le fichier de configuration par défaut. | |
Tester une configuration de pools avant de valider la configuration |
Simulez ce qui se produira après la validation de la configuration. | |
Supprimer une configuration de pools de votre système |
Toutes les ressources associées, telles que les jeux de processeurs, reprennent leur état par défaut. | |
Lier des processus à un pool |
Associez manuellement un processus en cours d'exécution sur votre système à un pool de ressources. | |
Lier des tâches ou des projets à un pool |
Associez des tâches ou des projets à un pool de ressources. | |
Lier de nouveaux processus à un pool de ressources |
Pour lier automatiquement de nouveaux processus dans un projet à un pool donné, ajoutez un attribut à chaque entrée de la base de données project. | |
Utiliser des attributs project pour lier un processus à un autre pool |
Modifiez la liaison de pool pour les nouveaux processus démarrés. |
Liaison d'un processus à un autre pool grâce aux attributs project |
Exécuter l'utilitaire poolstat pour produire des rapports |
Créez plusieurs rapports à intervalles spécifiques. | |
Créer un état statistique sur un ensemble de ressources |
Servez-vous de l'utilitaire poolstat pour obtenir des statistiques sur un ensemble de ressources d'un jeu de processeurs. |
À partir de la version Solaris 10 11/06, il est possible d'activer et de désactiver les services de pools de ressources et de pools de ressources dynamiques sur votre système à l'aide de la commande svcadm décrite dans la page de manuel svcadm(1M).
Vous pouvez également faire appel à la commande pooladm décrite dans la page de manuel pooladm(1M) pour réaliser les tâches suivantes :
Activer l'utilitaire Pools de façon à pouvoir manipuler les pools
Désactiver l'utilitaire Pools de façon à éviter la manipulation des pools
Lors de la mise à niveau d'un système, si la structure de pools de ressources est activée et que le fichier /etc/pooladm.conf existe, le service de pools est automatiquement activé et la configuration définie dans le fichier est appliquée au système.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Activez le service de pools de ressources.
# svcadm enable system/pools:default |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Désactivez le service de pools de ressources.
# svcadm disable system/pools:default |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des services.
Les rôles contiennent des autorisations et des commandes privilégiées. Pour plus d'informations sur la création du rôle et son attribution à un utilisateur, reportez-vous à la section Configuring RBAC (Task Map) du System Administration Guide: Security Services et Managing RBAC (Task Map) du guide System Administration Guide: Security Services (en anglais).
Activez le service de pools de ressources dynamiques.
# svcadm enable system/pools/dynamic:default |
Cet exemple montre qu'il faut d'abord activer les pools de ressources pour exécuter DRP.
Il existe une dépendance entre les pools de ressources et les pools de ressources dynamiques. DRP est désormais un service dépendant des pools de ressources. Il peut être activé et désactivé indépendamment des pools de ressources.
L'affichage suivant montre que les pools de ressources et les pools de ressources dynamiques sont actuellement désactivés :
# svcs *pool* STATE STIME FMRI disabled 10:32:26 svc:/system/pools/dynamic:default disabled 10:32:26 svc:/system/pools:default |
Activez les pools de ressources dynamiques :
# svcadm enable svc:/system/pools/dynamic:default # svcs -a | grep pool disabled 10:39:00 svc:/system/pools:default offline 10:39:12 svc:/system/pools/dynamic:default |
Notez que le service DRP est encore hors ligne.
Servez-vous de l'option -x de la commande svcs pour déterminer la raison pour laquelle le service DRP est hors ligne :
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:39:00 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:39:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
Activez le service de pools de ressources de façon à pouvoir exécuter le service DRP :
# svcadm enable svc:/system/pools:default |
Après l'exécution de la commande svcs *pool*, le système affiche l'écran suivant :
# svcs *pool* STATE STIME FMRI online 10:40:27 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
Si les deux services sont en ligne et que vous désactivez les pools de ressources :
# svcadm disable svc:/system/pools:default |
Après l'exécution de la commande svcs *pool*, le système affiche l'écran suivant :
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default # svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default online 10:40:27 svc:/system/pools/dynamic:default |
Le service DRP se met hors ligne en raison de la désactivation du service de pools de ressources :
# svcs *pool* STATE STIME FMRI disabled 10:41:05 svc:/system/pools:default offline 10:41:12 svc:/system/pools/dynamic:default |
Déterminez la raison pour laquelle le service DRP est hors ligne :
# svcs -x *pool* svc:/system/pools:default (resource pools framework) State: disabled since Wed 25 Jan 2006 10:41:05 AM GMT Reason: Disabled by an administrator. See: http://sun.com/msg/SMF-8000-05 See: libpool(3LIB) See: pooladm(1M) See: poolbind(1M) See: poolcfg(1M) See: poolstat(1M) See: /var/svc/log/system-pools:default.log Impact: 1 dependent service is not running. (Use -v for list.) svc:/system/pools/dynamic:default (dynamic resource pools) State: offline since Wed 25 Jan 2006 10:41:12 AM GMT Reason: Service svc:/system/pools:default is disabled. See: http://sun.com/msg/SMF-8000-GE See: poold(1M) See: /var/svc/log/system-pools-dynamic:default.log Impact: This service is not running. |
Il est indispensable de démarrer les pools de ressources pour tirer parti du service DRP. Vous pourriez, par exemple, lancer les pools de ressources à l'aide de la commande pooladm et de l'option -e :
# pooladm -e |
La commande svcs *pool* affiche ensuite l'écran suivant :
# svcs *pool* STATE STIME FMRI online 10:42:23 svc:/system/pools:default online 10:42:24 svc:/system/pools/dynamic:default |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Désactivez le service de pools de ressources dynamiques.
# svcadm disable system/pools/dynamic:default |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Activez l'utilitaire Pools.
# pooladm -e |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Désactivez l'utilitaire Pools.
# pooladm -d |
Appliquez l'option -s à /usr/sbin/pooladm pour créer un fichier de configuration statique correspondant à la configuration dynamique actuelle. Sauf en cas de spécification d'un nom de fichier différent, il convient d'utiliser l'emplacement par défaut /etc/pooladm.conf .
Validez votre configuration à l'aide de la commande pooladm et de l'option -c. Exécutez ensuite la commande pooladm avec l'option -s pour mettre à jour la configuration statique en fonction de l'état de la configuration dynamique.
Il est préférable d'utiliser la nouvelle fonctionnalité pooladm -s au lieu de la fonctionnalité précédente poolcfg -c discover pour créer une configuration correspondant à la configuration dynamique.
Activez les pools sur votre système.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Mettez à jour le fichier de configuration statique pour qu'il corresponde à la configuration dynamique actuelle.
# pooladm -s |
Affichez le contenu du fichier de configuration sous une forme lisible.
Notez que la configuration contient des éléments par défaut créés par le système.
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line |
Validez la configuration dans /etc/pooladm.conf .
# pooladm -c |
(Facultatif) Pour copier la configuration dynamique dans le fichier de configuration statique appelé /tmp/backup, entrez l'instruction suivante :
# pooladm -s /tmp/backup |
Pour optimiser votre configuration, créez un jeu de processeurs appelé pset_batch et un pool appelé pool_batch. Établissez ensuite une association entre le pool et le jeu de processeurs.
N'oubliez pas d'insérer les arguments de sous-commande contenant un espace vide.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Créez le jeu de processeurs pset_batch.
# poolcfg -c 'create pset pset_batch (uint pset.min = 2; uint pset.max = 10)' |
Créez le pool pool_batch.
# poolcfg -c 'create pool pool_batch' |
Établissez une association entre le pool et le jeu de processeurs.
# poolcfg -c 'associate pool pool_batch (pset pset_batch)' |
Affichez la configuration modifiée.
# poolcfg -c info system tester string system.comment kernel state int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment pset pset_batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
Validez la configuration dans /etc/pooladm.conf .
# pooladm -c |
(Facultatif) Pour copier la configuration dynamique dans un fichier de configuration statique appelé /tmp/backup, entrez l'instruction suivante :
# pooladm -s /tmp/backup |
Vous pouvez associer un pool à une classe de programmation pour permettre à tous les processus liés de tirer parti de l'ordonnanceur. Pour ce faire, donnez à la propriété pool.scheduler le nom de l'ordonnanceur. Cet exemple permet d'associer le pool pool_batch à l'ordonnanceur FSS.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. Pour plus d'informations sur la création du rôle et sur son assignation à un utilisateur, reportez-vous à la section relative à la gestion RBAC (liste de tâches) du System Administration Guide: Security Services.
Modifiez le pool pool_batch à associer à l'ordonnanceur FSS.
# poolcfg -c 'modify pool pool_batch (string pool.scheduler="FSS")' |
Affichez la configuration modifiée.
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
Validez la configuration dans /etc/pooladm.conf :
# pooladm -c |
(Facultatif) Pour copier la configuration dynamique dans le fichier de configuration statique appelé /tmp/backup, entrez l'instruction suivante :
# pooladm -s /tmp/backup |
Les contraintes limitent l'étendue des configurations possibles en empêchant certaines modifications potentielles. Cette procédure montre comment définir la propriété cpu.pinned.
Dans les exemples qui suivent, cpuid représente un nombre entier.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Modifiez la propriété cpu.pinned dans la configuration statique ou dynamique :
Vous pouvez vous fixer des objectifs pour la commande poold lors d'une action corrective.
Dans la procédure suivante, l'objectif wt-load est de faire en sorte que poold essaie de mettre en adéquation l'allocation des ressources et leur utilisation. L'objectif locality est désactivé pour faciliter la réalisation de cet objectif de configuration.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Modifiez le testeur système (tester) pour favoriser l'objectif wt-load.
# poolcfg -c 'modify system tester (string system.poold.objectives="wt-load")' |
Désactivez l'objectif locality pour le jeu de processeurs par défaut.
# poolcfg -c 'modify pset pset_default (string pset.poold.objectives="locality none")' |
Désactivez l'objectif locality pour le jeu de processeurs pset_batch.
# poolcfg -c 'modify pset pset_batch (string pset.poold.objectives="locality none")' |
Affichez la configuration modifiée.
# poolcfg -c info system tester string system.comment int system.version 1 boolean system.bind-default true int system.poold.pid 177916 string system.poold.objectives wt-load pool pool_default int pool.sys_id 0 boolean pool.active true boolean pool.default true int pool.importance 1 string pool.comment pset pset_default pset pset_default int pset.sys_id -1 boolean pset.default true uint pset.min 1 uint pset.max 65536 string pset.units population uint pset.load 10 uint pset.size 4 string pset.comment boolean testnullchanged true string pset.poold.objectives locality none cpu int cpu.sys_id 3 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 2 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 1 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 0 string cpu.comment string cpu.status on-line pool pool_batch boolean pool.default false boolean pool.active true int pool.importance 1 string pool.comment string pool.scheduler FSS pset batch pset pset_batch int pset.sys_id -2 string pset.units population boolean pset.default true uint pset.max 10 uint pset.min 2 string pset.comment boolean pset.escapable false uint pset.load 0 uint pset.size 0 string pset.poold.objectives locality none cpu int cpu.sys_id 5 string cpu.comment string cpu.status on-line cpu int cpu.sys_id 4 string cpu.comment string cpu.status on-line |
Validez la configuration dans /etc/pooladm.conf .
# pooladm -c |
(Facultatif) Pour copier la configuration dynamique dans le fichier de configuration statique appelé /tmp/backup, entrez l'instruction suivante :
# pooladm -s /tmp/backup |
Pour spécifier le niveau des informations consignées dans le journal généré par poold, définissez la propriété system.poold.log-level dans la configuration poold. La configuration poold est conservée au sein de la configuration libpool. Pour plus d'informations, reportez-vous à la section Informations de consignation poold et aux pages de manuel poolcfg(1M) et libpool(3LIB).
Vous pouvez également tirer parti de la commande poold sur la ligne de commande pour indiquer le niveau de consignation voulu dans le journal créé par poold.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Définissez le niveau de consignation en exécutant la commande poold avec l'option -l et un paramètre (INFO, par exemple).
# /usr/lib/pool/poold -l INFO |
Pour plus d'informations sur les paramètres disponibles, reportez-vous à la section Informations de consignation poold. Le niveau de consignation par défaut est NOTICE.
La commande poolcfg associée à l'option -f accepte une entrée provenant d'un fichier texte dans lequel figurent les arguments de sous-commande poolcfg correspondant à l'option -c. Cette méthode est pratique pour effectuer une série d'opérations. Lors du traitement des commandes, la configuration n'est mise à jour que si toutes les commandes aboutissent. Dans le cas de configurations plus importantes ou plus complexes, il est préférable d'utiliser cette technique que de procéder par sous-commande.
Dans les fichiers de commandes, le caractère # signale un commentaire dans le reste de la ligne.
Créez le fichier d'entrée poolcmds.txt .
$ cat > poolcmds.txt create system tester create pset pset_batch (uint pset.min = 2; uint pset.max = 10) create pool pool_batch associate pool pool_batch (pset pset_batch) |
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. Pour savoir comment créer ce rôle et l'assigner à un utilisateur, reportez-vous à la section relative à la gestion RBAC du System Administration Guide: Security Services.
Exécutez la commande :
# /usr/sbin/poolcfg -f poolcmds.txt |
Associez l'argument de sous-commande transfer à l'option -c (lorsque vous exécutez la commande poolcfg avec l'option -d) pour transférer les ressources dans le noyau. L'option -d permet à la commande de fonctionner directement au niveau du noyau et évite de prendre en compte les entrées provenant d'un fichier.
La procédure suivante déplace deux CPU du jeu de processeurs pset1 vers le jeu de processeurs pset2 dans le noyau.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Transférez deux CPU de pset1 à pset2.
L'ordre d'utilisation des sous-clauses from et to n'a pas d'importance. Une seule sous-clause to et from est acceptée par commande.
# poolcfg -dc 'transfer 2 from pset pset1 to pset2' |
S'il est nécessaire de transférer des ID connus d'un type de ressource, une autre syntaxe a été prévue. La commande suivante permet, par exemple, d'allouer deux CPU identifiées par les ID 0 et 2 au jeu de processeurs pset_large :
# poolcfg -dc "transfer to pset pset_large (cpu 0; cpu 2)" |
Si les ressources sont insuffisantes pour satisfaire la requête ou si les ID spécifiés ne peuvent pas être localisés, le transfert échoue et le système affiche un message d'erreur.
Utilisez la commande pooladm pour rendre une configuration de pools active ou pour supprimer la configuration active. Pour plus d'informations au sujet de cette commande, voir la page de manuel pooladm(1M).
Pour activer la configuration dans le fichier de configuration par défaut, /etc/pooladm.conf, exécutez la commande pooladm avec l'option de validation de la configuration (-c).
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Validez la configuration dans /etc/pooladm.conf .
# pooladm -c |
(Facultatif) Copiez la configuration dynamique dans un fichier de configuration statique, /tmp/backup par exemple.
# pooladm -s /tmp/backup |
En combinant l'option -n et l'option -c, vous avez la possibilité de simuler le résultat que vous obtiendrez après validation. Cela n'a pas pour effet de valider la configuration.
La commande suivante essaie de tester la configuration figurant dans /home/admin/newconfig. Les conditions d'erreur rencontrées sont affichées, mais la configuration n'est pas modifiée.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Testez la configuration avant de la valider.
# pooladm -n -c /home/admin/newconfig |
Pour supprimer la configuration active et rétablir l'état par défaut de toutes les ressources associées (comme les jeux de processeurs), utilisez l'option de suppression de la configuration (-x).
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Supprimez la configuration active.
# pooladm -x |
L'option - x associée à la commande pooladm a pour effet d'effacer tous les éléments définis par l'utilisateur de la configuration dynamique. Les ressources reprennent toutes leur état par défaut et l'ensemble des liaisons de pools sont remplacées par une liaison vers le pool par défaut.
Vous pouvez combiner, en toute sécurité, des processus des classes TS et IA au sein du même jeu de processeurs. Le mélange d'autres classes de programmation au sein d'un même jeu de processeurs peut produire des résultats imprévisibles. Si l'instruction pooladm -x a pour effet de combiner des classes de processeurs au sein d'un même jeu de processeurs, utilisez la commande priocntl pour transférer les processus en cours vers une autre classe de programmation. Pour ce faire, reportez-vous à la section Transfert manuel de processus de la classe TS vers la classe FSS. Voir aussi la page de manuel priocntl(1).
Vous pouvez définir un attribut project.pool afin d'associer un pool de ressources à un projet.
Vous disposez de deux modes de liaison d'un processus en cours à un pool :
Vous pouvez faire appel à la commande poolbind décrite dans la page de manuel poolbind(1M) pour lier un processus spécifique à un pool de ressources nommé.
Servez-vous de l'attribut project.pool de la base de données project pour identifier la liaison de pools pour une nouvelle session de connexion ou une tâche lancée au moyen de la commande newtask. Reportez-vous aux pages de manuel newtask(1), projmod(1M) et project(4).
La procédure suivante utilise la commande poolbind avec l'option -p pour établir une liaison manuelle entre un processus (le shell actuel, dans le cas présent) et un pool appelé ohare.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Liez un processus à un pool de façon manuelle :
# poolbind -p ohare $$ |
Vérifiez la liaison du pool pour le processus en exécutant la commande poolbind avec l'option -q.
$ poolbind -q $$ 155509 ohare |
Le système affiche l'ID du processus et la liaison du pool.
Pour lier des tâches ou des projets à un pool, exécutez la commande poolbind avec l'option -i. L'exemple suivant permet de lier tous les processus du projet airmiles au pool laguardia.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Liez tous les processus du projet airmiles au pool laguardia.
# poolbind -i project -p laguardia airmiles |
Vous pouvez définir l'attribut project.pool afin de lier les processus d'un projet à un pool de ressources.
Connectez-vous en tant que superutilisateur ou prenez un rôle incluant le profil Gestion des processus.
Ce profil fait partie des prérogatives de l'administrateur système. 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.
Ajoutez un attribut project.pool à chaque entrée de la base de données project.
# projmod -a -K project.pool=poolname project |
Supposons que vous disposez d'une configuration constituée de deux pools appelés studio et backstage. Le fichier /etc/project contient les données suivantes :
user.paul:1024::::project.pool=studio user.george:1024::::project.pool=studio user.ringo:1024::::project.pool=backstage passes:1027::paul::project.pool=backstage |
Sous cette configuration, les processus lancés par l'utilisateur paul sont liés par défaut au pool studio.
L'utilisateur paul a la possibilité de modifier la liaison du pool pour les processus qu'il se charge de démarrer. paul peut faire appel à la commande newtask pour lier également le travail au pool backstage, en lançant le projet passes.
Démarrez un processus dans le projet passes.
$ newtask -l -p passes |
Exécutez la commande poolbind avec l'option -q pour vérifier la liaison du pool pour le processus. Servez-vous également du symbole double dollar ($$) pour transmettre le numéro de processus du shell parent à la commande.
$ poolbind -q $$ 6384 pool backstage |
Le système affiche l'ID du processus et la liaison du pool.
La commande poolstat permet d'obtenir des statistiques sur les ressources ayant trait au pool. Pour plus d'informations, reportez-vous à la section Utilisation de poolstat pour contrôler l'utilitaire des pools et l'utilisation des ressources et à la page de manuel poolstat(1M).
Les sous-sections suivantes illustrent par des exemples le mode de création de divers rapports.
Le fait d'exécuter la commande poolstat sans argument génère une ligne d'en-tête et une ligne d'informations pour chaque pool. La ligne d'informations contient l'ID du pool, le nom du pool et les statistiques sur les ressources pour le jeu de processeurs associé au pool.
machine% poolstat pset id pool size used load 0 pool_default 4 3.6 6.2 1 pool_sales 4 3.3 8.4 |
La commande suivante permet d'obtenir trois rapports à intervalle de 5 secondes.
machine% poolstat 5 3 pset id pool size used load 46 pool_sales 2 1.2 8.3 0 pool_default 2 0.4 5.2 pset id pool size used load 46 pool_sales 2 1.4 8.4 0 pool_default 2 1.9 2.0 pset id pool size used load 46 pool_sales 2 1.1 8.0 0 pool_default 2 0.3 5.0 |
L'exemple suivant a recours à la commande poolstat et à l'option -r pour produire un état statistique sur les ressources du jeu de processeurs. Comme l'ensemble de ressources pset_default est lié à plusieurs pools, le jeu de processeurs n'apparaît qu'une seule fois dans la liste pour chaque appartenance au pool.
machine% poolstat -r pset id pool type rid rset min max size used load 0 pool_default pset -1 pset_default 1 65K 2 1.2 8.3 6 pool_sales pset 1 pset_sales 1 65K 2 1.2 8.3 2 pool_other pset -1 pset_default 1 10K 2 0.4 5.2 |