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.
How to Determine Whether a Web Server Is Allocated Enough CPU Capacity
- 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`
- Enable a system log global action on the task.max-lwps resource control.
# rctladm -e syslog task.max-lwps
- 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