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

Procedure如何使用 prctl 临时更改值

此示例过程使用 prctl 命令临时添加一个新的权限值,以便拒绝在每个 x-files 项目中使用三个以上的 LWP。可将此结果与如何为项目中的每个任务设置最大 LWP 数中的结果进行对比。

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

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

  2. 使用 newtask 加入 x-files 项目。


    # newtask -p x-files
    
  3. 使用带有 -p 选项的 id 命令检验是否已加入正确的项目。


    # id -p
    uid=0(root) gid=1(other) projid=101(x-files)
  4. project.max-lwps 添加一个新的权限值,将 LWP 数限制为三个。


    # prctl -n project.max-lwps -t privileged -v 3 -e deny -i project x-files
    
  5. 验证结果。


    # prctl -n project.max-lwps -i project x-files
    process: 111108: csh
    NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
    project.max-lwps
            privileged       3       -   deny                      -
            system       2.15G     max   deny                      -