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

编辑和验证项目属性

您可以使用 projaddprojmod 项目数据库管理命令来编辑项目属性。

-K 选项指定属性替换列表。属性由分号 (;) 进行分隔。如果将 -K 选项和 -a 选项一起使用,则会添加属性或属性值。如果将 -K 选项和 -r 选项一起使用,则会删除属性或属性值。如果将 -K 选项与 -s 选项一起使用,则会替换属性或属性值。

Procedure如何将属性和属性值添加到项目

可以使用带有 -a-K 选项的 projmod 命令将值添加到项目属性中。如果属性不存在,则会创建一个。

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

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

  2. 在项目 myproject 中添加无属性值的资源控制属性 task.max-lwps。加入项目的任务只有系统属性值。


    # projmod -a -K task.max-lwps myproject
    
  3. 然后可以为 myproject 项目中的 task.max-lwps 添加值。此值包含权限级别、阈值以及与达到阈值关联的操作。


    # projmod -a -K "task.max-lwps=(priv,100,deny)" myproject
    
  4. 由于资源控制属性可以具有多个值,因此可以使用同一个选项将其他值添加到现有的值列表中。


    # projmod -a -K "task.max-lwps=(priv,1000,signal=KILL)" myproject
    

    用逗号分隔多个值。现在 task.max-lwps 条目应为:


    task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)

Procedure如何从项目中删除属性值

此过程假设具有以下值:


task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)
  1. 成为超级用户或承担等效角色。

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

  2. 要删除 myproject 项目中 task.max-lwps 资源控制的属性值,请使用带有 -r-K 选项的 projmod 命令。


    # projmod -r -K "task.max-lwps=(priv,100,deny)" myproject
    

    如果 task.max-lwps 具有多个值,例如:


    task.max-lwps=(priv,100,deny),(priv,1000,signal=KILL)

    则会删除第一个匹配的值。结果将为:


    task.max-lwps=(priv,1000,signal=KILL)

Procedure如何从项目中删除资源控制属性

要删除 myproject 项目中的 task.max-lwps 资源控制属性,请使用带有 -r-K 选项的 projmod 命令。

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

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

  2. 从项目 myproject 中删除属性 task.max-lwps 及其所有值:


    # projmod -r -K task.max-lwps myproject
    

Procedure如何替换项目的属性和属性值

要替换项目 myproject 中属性 task.max-lwps 的值,请使用带有 -s-K 选项的 projmod 命令。如果属性不存在,则会创建一个。

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

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

  2. 使用所示的新值替换当前的 task.max-lwps 值:


    # projmod -s -K "task.max-lwps=(priv,100,none),(priv,120,deny)" myproject
    

    结果为:


    task.max-lwps=(priv,100,none),(priv,120,deny)

Procedure如何删除资源控制属性的现有值

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

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

  2. 要从项目 myproject 中删除 task.max-lwps 的当前值,请键入:


    # projmod -s -K task.max-lwps myproject