代码之家  ›  专栏  ›  技术社区  ›  Matthew Watson

Solaris 9项目(资源管理)

  •  0
  • Matthew Watson  · 技术社区  · 17 年前

    我试图让项目在solaris 9(SPARC)中工作,这样我就可以限制一些用户的内存使用。

    从我所读到的,以及我在solaris 10中回忆到的,我应该能够

    1. 创建一个组(prodsupt),并将其设为用户的默认组
    2. 创建一个名为“group.prodsupt”的项目
    3. 限制组中的资源。

    我已经做到了,但是我的用户仍然没有得到有限的资源

    > grep prodsupt /etc/group
    prodsupt::6011:
    > grep prodsupt /etc/project
    group.prodsupt:100:Production Support Project:::process.max-address-space=(privileged.16777216.deny)
    

    这应该会将任何默认使用prodsupt的人的地址空间限制在16mb左右,但是,如果我以该组中的用户身份登录的话

    > id -p
    id=1055(mwatson) gid=6011(prodsupt) projid=100(group.prodsupt)
    > prctl -n process.max-address-space $$
    3084:   zsh
    process.max-address-space                [ lowerable deny no-local-action ]
       18446744073709551615 system     deny           [ max ]
    

    有人能看出我做错了什么吗?

    1 回复  |  直到 17 年前
        1
  •  1
  •   Matthew Watson    17 年前

    问题是权限中的拼写错误。

    group.prodsupt:100:Production Support Project:::process.max-address-space=(privileged.16777216.deny)
    

    应该是

    group.prodsupt:100:Production Support Project:::process.max-address-space=(privileged,16777216,deny)
    

    这解决了问题。