Administración de la gestión de recursos en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Acciones locales y globales en valores de controles de recursos

Hay dos categorías de acciones en los valores de controles de recursos: globales y locales.

Acciones globales en valores de controles de recursos

Las acciones globales se aplican a los valores de controles de recursos para cada control de recurso del sistema. Puede utilizar el comando rctladm que se describe en la página del comando man rctladm(1M) para llevar a cabo las acciones siguientes:

  • Mostrar el estado global de los controles de recursos activos del sistema

  • Definir acciones de registro globales

Puede desactivar o activar la acción de registro global en los controles de recursos. Es posible definir la acción syslog hasta un grado específico asignando un nivel de gravedad, syslog=nivel. Las posibles configuraciones de nivel son:

  • debug

  • info

  • notice

  • warning

  • err

  • crit

  • alert

  • emerg

De modo predeterminado, no hay ningún registro global de los conflictos de controles de recursos. El nivel n/a indica los controles de recursos en los que no se puede configurar ninguna acción global.

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 Table 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). Para obtener más información, consulte rctlblk_set_value(3C).
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). Para obtener más información, consulte rctlblk_set_value(3C).