

Capacity Warnings

A global action on a resource control enables you to receive notice of any entity that is tripping over a resource control value that is set too low.

For example, assume you want to determine whether a web server possesses sufficient CPUs for its typical workload. You could analyze sar data for idle CPU time and load average. You could also examine extended accounting data to determine the number of simultaneous processes that are running for the web server process.

However, an easier approach is to place the web server in a task. You can then set a global action, using syslog, to notify you whenever a task exceeds a scheduled number of LWPs appropriate for the machine's capabilities.

See the sar(1) man page for more information.

ProcedureHow to Determine Whether a Web Server Is Allocated Enough CPU Capacity

  1. Use the prctl command to place a privileged (superuser-owned) resource control on the tasks that contain an httpd process. Limit each task's total number of LWPs to 40, and disable all local actions.

    # prctl -n task.max-lwps -v 40 -t privileged -d all `pgrep httpd`
  2. Enable a system log global action on the task.max-lwps resource control.

    # rctladm -e syslog task.max-lwps
  3. Observe whether the workload trips the resource control.

    If it does, you will see /var/adm/messages such as:

    Jan  8 10:15:15 testmachine unix: [ID 859581 kern.notice] 
    NOTICE: privileged rctl task.max-lwps exceeded by task 19