Oracle Solaris のシステム管理 (Oracle Solaris コンテナ : 資源管理と Oracle Solaris ゾーン)

Procedureprctl を使って値を一時的に変更する方法

次の手順では、prctl コマンドを使用して x-files プロジェクトに新しい特権値を一時的に追加し、プロジェクトあたり 4 つ以上の LWP を使用することを拒否します。その結果は、「プロジェクト内の各タスクの最大 LWP 数を設定する方法」の結果と同等になります。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

    役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. newtask を使って x-files プロジェクトに参加します。


    # newtask -p x-files
    
  3. id コマンドに -p オプションを付けて実行し、正しいプロジェクトに参加できたことを確認します。


    # id -p
    uid=0(root) gid=1(other) projid=101(x-files)
  4. project.max-lwps に新しい特権値を追加して、LWP の数を 3 つまでに制限します。


    # 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                      -