System Administration Guide: Virtualization Using the Solaris Operating System

Local Actions on Resource Control Values

Local actions are taken on a process that attempts to exceed the control value. For each threshold value that is placed on a resource control, you can associate one or more actions. There are three types of local actions: none, deny, and signal=. These three actions are used as follows:

none

No action is taken on resource requests for an amount that is greater than the threshold. This action is useful for monitoring resource usage without affecting the progress of applications. You can also enable a global message that displays when the resource control is exceeded, although the process exceeding the threshhold is not affected.

deny

You can deny resource requests for an amount that is greater than the threshold. For example, a task.max-lwps resource control with action deny causes a fork system call to fail if the new process would exceed the control value. See the fork(2) man page.

signal=

You can enable a global signal message action when the resource control is exceeded. A signal is sent to the process when the threshold value is exceeded. Additional signals are not sent if the process consumes additional resources. Available signals are listed in Table 6–3.

Not all of the actions can be applied to every resource control. For example, a process cannot exceed the number of CPU shares assigned to the project of which it is a member. Therefore, a deny action is not allowed on the project.cpu-shares resource control.

Due to implementation restrictions, the global properties of each control can restrict the range of available actions that can be set on the threshold value. (See the rctladm(1M) man page.) A list of available signal actions is presented in the following table. For additional information about signals, see the signal(3HEAD) man page.

Table 6–3 Signals Available to Resource Control Values

Signal 

Description 

Notes 

SIGABRT 

Terminate the process. 

 

SIGHUP 

Send a hangup signal. Occurs when carrier drops on an open line. Signal sent to the process group that controls the terminal. 

 

SIGTERM 

Terminate the process. Termination signal sent by software. 

 

SIGKILL 

Terminate the process and kill the program. 

 

SIGSTOP 

Stop the process. Job control signal. 

 

SIGXRES 

Resource control limit exceeded. Generated by resource control facility. 

 

SIGXFSZ 

Terminate the process. File size limit exceeded. 

Available only to resource controls with the RCTL_GLOBAL_FILE_SIZE property (process.max-file-size). See rctlblk_set_value(3C) for more information.

SIGXCPU 

Terminate the process. CPU time limit exceeded. 

Available only to resource controls with the RCTL_GLOBAL_CPUTIME property (process.max-cpu-time). See rctlblk_set_value(3C) for more information.