資源制御に対して大域アクションを設定すると、資源制御値を超えたエンティティーに関する通知を受け取ることができ、資源制御値が低すぎるかどうかを判断できます。
たとえば、一般的な作業負荷のための十分な CPU 資源が Web サーバーに割り当てられているかどうかを確認する場合を考えます。この容量は、sar データで CPU のアイドル時間と平均負荷率を解析すれば判定できます。また、拡張アカウンティングデータを調べて、Web サーバープロセスで同時に実行しているプロセス数を確認することもできます。
より簡単な方法は、Web サーバーをタスクに配置することです。その上で、syslog を使って大域アクションを設定すると、タスクがマシンの性能に適した LWP の計画数を上回ったときに、警告が通知されます。
詳細は、sar(1) のマニュアルページを参照してください。
prctl コマンドを使用して、httpd プロセスを含むタスクにスーパーユーザーが所有する特権レベルの資源制御を設定します。各タスクの LWP の総数を 40 に制限し、すべての局所アクションを無効にします。
# prctl -n task.max-lwps -v 40 -t privileged -d all `pgrep httpd` |
資源制御 task.max-lwps で、システムログの大域アクションを有効にします。
# rctladm -e syslog task.max-lwps |
作業負荷が資源制御を超えるかどうかを監視します。
作業負荷が資源制御を超えると、次のような内容が /var/adm/messages に記録されます。
Jan 8 10:15:15 testmachine unix: [ID 859581 kern.notice] NOTICE: privileged rctl task.max-lwps exceeded by task 19 |