系统管理指南:Oracle Solaris Containers-资源管理和 Oracle Solaris Zones

容量警告

通过对资源控制执行全局操作,可以接收任何实体因资源控制值设置太低而失败的通知。

例如,假设您要确定 Web 服务器是否拥有处理一般工作负荷所需的 CPU。您可以分析 sar 数据以了解空闲的 CPU 时间和平均负荷值。您也可以检查扩展记帐数据以确定针对 Web 服务器进程同时运行的进程数。

但是,比较简单的方法是将 Web 服务器置于任务中。然后,可以使用 syslog 设置全局操作,以便在任务超过对应于计算机容量的预定 LWP 数时通知您。

有关更多信息,请参见 sar(1) 手册页。

Procedure如何确定是否为 Web 服务器分配了足够的 CPU 容量

  1. 使用 prctl 命令对包含 httpd 进程的任务设置特权(超级用户拥有)资源控制。将每个任务的 LWP 总数限制为 40,并禁用所有的本地操作。


    # prctl -n task.max-lwps -v 40 -t privileged -d all `pgrep httpd`
    
  2. task.max-lwps 资源控制启用系统日志全局操作。


    # rctladm -e syslog task.max-lwps
    
  3. 查看工作负荷是否导致资源控制失败。

    如果是,将看到 /var/adm/messages,例如:


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