Oracle® Solaris 11.2 でのリソースの管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

プロジェクト内の各タスクの最大 LWP 数を設定する方法

この手順では、x-files というプロジェクトを /etc/project ファイルに追加し、このプロジェクト内に作成されるタスクに適用する LWP の最大数を設定します。

  1. root になるか、同等の役割になります。
  2. projadd コマンドに –K オプションを付けて実行して、x-files というプロジェクトを作成します。このプロジェクト内に作成される各タスクの LWP の最大数を 3 に設定します。
    # projadd -K 'task.max-lwps=(privileged,3,deny)' x-files
  3. 次のいずれかの方法を使用して、/etc/project ファイル内のエントリを表示します。
    • 入力:

      # projects -l
      system
              projid : 0
              comment: ""
              users  : (none)
              groups : (none)
              attribs: 
      .
      .
      .
      x-files
              projid : 100
              comment: ""
              users  : (none)
              groups : (none)
              attribs: task.max-lwps=(privileged,3,deny)
    • 入力:

      # cat /etc/project
      system:0:System:::
      .
      .
      .
      x-files:100::::task.max-lwps=(privileged,3,deny)
使用例 7-1  セッション例

上記の手順を実行したあと、プロジェクト x-filesnewtask を使用して参加することで新しいタスクを作成した root ユーザーは、そのタスクで実行中は、LWP を 3 つまでしか作成できません。次の注釈付きのセッション例を参照してください。

# newtask -p x-files csh

# prctl -n task.max-lwps $$
process: 111107: csh
NAME    PRIVILEGE    VALUE    FLAG   ACTION            RECIPIENT
task.max-lwps
        usage            3
        privileged       3       -   deny                      -
        system       2.15G     max   deny                      -
# id -p
uid=0(root) gid=1(other) projid=100(x-files)

# ps -o project,taskid -p $$
 PROJECT TASKID
 x-files    73

# csh        /* creates second LWP */

# csh        /* creates third LWP */

# csh        /* cannot create more LWPs */
Vfork failed
#