Administration de la gestion des ressources dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Actions globales et locales applicables aux valeurs de contrôle de ressource

Il existe deux catégories d'actions applicables aux valeurs de contrôle de ressource : globale et locale.

Actions globales applicables aux valeurs de contrôle de ressource

Les actions globales s'appliquent aux valeurs de chaque contrôle de ressource du système. Vous pouvez utiliser la commande rctladm décrite à la page de manuelrctladm(1M) pour réaliser les actions suivantes :

  • Afficher l'état global des contrôles de ressources système actifs

  • Définir les actions de consignation globales

Vous avez la possibilité d'activer ou de désactiver l'action de consignation globale pour les contrôles de ressources. Vous pouvez configurer l'action syslog jusqu'à un degré spécifique en assignant un niveau de gravité, syslog=level. Voici les différents paramètres sélectionnables pour level :

  • debug

  • info

  • notice

  • warning

  • err

  • crit

  • alert

  • emerg

Par défaut, les violations de contrôle de ressource ne font pas l'objet d'une consignation globale. Le niveau n/a indique les contrôles de ressources sur lesquels aucune action globale ne peut être configurée.

Actions locales applicables aux valeurs de contrôle de ressource

Des actions locales sont accomplies sur un processus essayant de dépasser la valeur de contrôle. Il est possible d'associer une ou plusieurs actions à chaque valeur de seuil appliquée à un contrôle de ressource. Il existe trois types d'action locale : none, deny et signal=. Ces trois actions sont utilisées dans les conditions suivantes :

none

Les demandes de ressources d'une quantité supérieure au seuil fixé ne sont suivies d'aucune action. Cela est pratique pour surveiller l'utilisation des ressources sans perturber le déroulement des applications en cours. Vous pouvez également prévoir l'affichage d'un message global en cas de dépassement du contrôle de ressource, même si cela n'a aucune incidence sur le processus concerné.

deny

Les demandes de ressources d'une quantité supérieure au seuil fixé sont refusées. Ainsi, un contrôle de ressource task.max-lwps pour lequel vous avez choisi l'action deny provoque l'échec de l'appel système fork si le nouveau processus dépasse la valeur de contrôle. Reportez-vous à la page de manuel fork(2).

signal=

Vous pouvez demander l'émission d'un signal en cas de dépassement du contrôle de ressource. Le signal est alors transmis au processus. Aucun autre signal n'est envoyé si le processus utilise des ressources supplémentaires. Les signaux disponibles sont répertoriés dans le Table 6–3.

Ces actions ne sont pas toutes applicables à chaque contrôle de ressource. Un processus n'est pas en mesure, par exemple, de dépasser le nombre de parts de CPU allouées au projet dont il est membre. L'action deny n'est, par conséquent, pas applicable au contrôle de ressource project.cpu-shares.

En raison des restrictions liées à l'implémentation, les propriétés globales de chaque contrôle peuvent limiter le champ d'actions programmables pour la valeur de seuil. (Reportez-vous à la page de manuel rctladm(1M).) Le tableau suivant récapitule les actions ayant pour effet d'émettre un signal. Pour plus d'informations au sujet des signaux, voir la page de manuel signal(3HEAD).

Table 6-3  Signaux disponibles pour les valeurs des contrôles de ressources
Signal
Description
Remarques
SIGABRT
Met fin au processus.
SIGHUP
Envoie un signal de déconnexion. Cela se produit en cas d'abandon de la porteuse sur une ligne. Le signal est transmis au groupe de processus qui contrôle le terminal.
SIGTERM
Met fin au processus. Signal d'interruption envoyé par le logiciel.
SIGKILL
Met fin au processus et interrompt le programme.
SIGSTOP
Arrête le processus. Signal de contrôle du travail.
SIGXRES
Signal envoyé en cas de dépassement de la limite de contrôle de ressource. Généré par l'utilitaire de contrôle des ressources.
SIGXFSZ
Met fin au processus. Signal envoyé en cas de dépassement de la limite de taille de fichier.
Concerne uniquement les contrôles de ressources possédant la propriété RCTL_GLOBAL_FILE_SIZE (process.max-file-size). Pour plus d'informations, voir rctlblk_set_value(3C).
SIGXCPU
Met fin au processus. Signal envoyé en cas de dépassement de la limite du temps CPU.
Concerne uniquement les contrôles de ressources possédant la propriété RCTL_GLOBAL_CPUTIME (process.max-cpu-time). Pour plus d'informations, voir rctlblk_set_value(3C).