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

Actions locales applicables aux valeurs de contrôle de ressource

Les actions locales s'exercent dans le cadre d'un processus qui essaie 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 contrôler 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. Voir 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 Tableau 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. Voir 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).

Tableau 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 la page de manuel 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 la page de manuel rctlblk_set_value(3C).