System Administration Guide: Resource Management and Network Services

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.

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

However, an easier method is to place the web server in a task. 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.

How 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 the resource control is activated, you 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