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

Procedure如何对一个项目设置多个控制

/etc/project 文件可以包含每个项目的多个资源控制设置,还可包含每个控制的多个阈值。阈值在操作子句中定义,这些子句使用逗号分隔多个值。

  1. 成为超级用户或承担等效角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:基本管理》中的“使用 RBAC 和 Solaris 管理工具(任务图)”

  2. 使用带有 -s-K 选项的 projmod 命令对项目 x-files 设置资源控制:


    # projmod -s -K 'task.max-lwps=(basic,10,none),(privileged,500,deny);
    process.max-file-descriptor=(basic,128,deny)' x-filesone line in file
    

    将设置以下控制:

    • 针对每个任务的最大 LWP 数不采取任何操作的 basic 控制。

    • 针对每个任务的最大 LWP 数的特权 deny 控制。此控制会使所有超过最大值的 LWP 创建都失败,如前一示例如何为项目中的每个任务设置最大 LWP 数所示。

    • basic 级别对每个进程的最大文件描述符数的限制,它会强制任何超过最大数量的 open 调用均失败。

  3. 使用以下方法之一,查看文件中的条目:

    • 键入


      # projects -l
      .
      .
      .
      x-files
              projid : 100
              comment: ""
              users  : (none)
              groups : (none)
              attribs: process.max-file-descriptor=(basic,128,deny)
                       task.max-lwps=(basic,10,none),(privileged,500,deny) one line in file
      
    • 键入


      # cat etc/project
      .
      .
      .
      x-files:100::::process.max-file-descriptor=(basic,128,deny);
      task.max-lwps=(basic,10,none),(privileged,500,deny) one line in file