Guía de administración de sistemas: administración de recursos y contenedores de Oracle Solaris y zonas de Oracle Solaris

Acciones locales en valores de controles de recursos

Las acciones locales se llevan a cabo en un proceso que intenta exceder el valor de control. Para cada valor umbral que se coloca en un control de recurso, puede asociar una o más acciones. Hay tres tipos de acciones locales: none, deny y signal=. Estas tres acciones se utilizan del modo siguiente:

none

No se emprende ninguna acción en las solicitudes de recursos para una cantidad que supere el umbral. Esta acción resulta útil para supervisar el uso de los recursos sin que ello afecte al progreso de las aplicaciones. También puede activar un mensaje global que se muestre al superar el control de recurso, aunque el proceso que supera el umbral no se vea afectado.

deny

Puede denegar las solicitudes de recursos para una cantidad que supere el umbral. Por ejemplo, un control de recurso task.max-lwps con la acción deny hace que la llamada de sistema fork falle si el nuevo proceso supera el valor de control. Consulte la página del comando man fork(2).

signal=

Puede activar una acción de mensaje de señal global cuando se supera el control de recurso. Se envía una señal al proceso cuando se supera el valor umbral. No se envían señales adicionales si el proceso consume recursos adicionales. En la Tabla 6–3 se enumeran las señales disponibles.

No se pueden aplicar todas las acciones a cada control de recurso. Por ejemplo, un proceso no puede superar el número de recursos compartidos de CPU asignados al proyecto del cual es miembro. Por tanto, no se permite una acción de denegación en el control de recurso project.cpu-shares.

Debido a la restricción de la implementación, las propiedades globales de cada control pueden restringir el intervalo de acciones disponibles que se pueden configurar en el valor umbral. (Consulte la página del comando man rctladm(1M) En la tabla siguiente se presenta una lista de las acciones de señales disponibles. Para obtener información adicional sobre las señales, consulte la página del comando man signal(3HEAD).

Tabla 6–3 Señales disponibles para los valores de controles de recursos

Señal 

Descripción 

Notas 

SIGABRT 

Finaliza el proceso. 

 

SIGHUP 

Envía una señal de colgar. Tiene lugar cuando el portador se encuentra en una línea abierta. La señal se envía al grupo de proceso que controla el terminal. 

 

SIGTERM 

Finaliza el proceso. Señal de finalización que envía el software. 

 

SIGKILL 

Finaliza el proceso y cierra el programa. 

 

SIGSTOP 

Detiene el proceso. Señal de control del trabajo. 

 

SIGXRES 

Límite de control de recurso superado. Lo genera la función de control de recurso. 

 

SIGXFSZ 

Finaliza el proceso. Límite de tamaño de archivo superado. 

Disponible sólo para los controles de recursos con la propiedad RCTL_GLOBAL_FILE_SIZE (process.max-file-size). Consulte rctlblk_set_value(3C) para obtener más información.

SIGXCPU 

Finaliza el proceso. Límite de tiempo de CPU superado. 

Disponible sólo para los controles de recursos con la propiedad RCTL_GLOBAL_CPUTIME (process.max-cpu-time). Consulte rctlblk_set_value(3C) para obtener más información.