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

プール属性の設定とプールへの結合

資源プールをプロジェクトに関連付けるために、project.pool 属性を設定できます。

実行中のプロセスをプールに結合するには、次の 2 つの方法を使用できます。

Procedureプロセスをプールに結合する方法

次の手順では、poolbind コマンドに -p オプションを付けて実行して、プロセス (この例では、現在のシェル) を ohare というプールに手動で結合します。

  1. スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。

    System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. プロセスをプールに手動で結合します。


    # poolbind -p ohare $$
    
  3. poolbind-q オプションを付けて実行することで、プロセスとプールの結合を確認します。


    $ poolbind -q $$
    155509 ohare

    プロセス ID とプールへの結合が表示されます。

Procedureタスクまたはプロジェクトをプールに結合する方法

タスクまたはプロジェクトをプールに結合するには、poolbind コマンドに -i オプションを指定します。次の例では、airmiles プロジェクト内のすべてのプロセスを laguardia プールに結合します。

  1. スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。

    System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. airmiles プロジェクト内のすべてのプロセスを laguardia プールに結合します。


    # poolbind -i project -p laguardia airmiles
    

Procedureプロジェクトの project.pool 属性を設定する方法

プロジェクトのプロセスを資源プールに結合するために、project.pool 属性を設定できます。

  1. スーパーユーザーになるか、Process Management プロファイルが含まれている役割を引き受けます。

    System Administrator 役割には、Process Management プロファイルが含まれています。役割の詳細については、『Solaris のシステム管理 (基本編)』「Solaris 管理ツールを RBAC と組み合わせて使用する (作業マップ)」を参照してください。

  2. project データベース内の各エントリに project.pool 属性を追加します。


    # projmod -a -K project.pool=poolname project
    

Procedureproject 属性を使ってプロセスを別のプールに結合する方法

studio backstage という 2 つのプールを持つ構成が存在するものとします。/etc/project ファイルの内容は、次のとおりです。


user.paul:1024::::project.pool=studio
user.george:1024::::project.pool=studio
user.ringo:1024::::project.pool=backstage
passes:1027::paul::project.pool=backstage

この構成の場合、ユーザー paul によって起動されるプロセスは、デフォルトで studio プールに結合されます。

ユーザー paul は、起動するプロセスのプール結合を変更できます。paul は、newtask を使用して (この場合は passes プロジェクト内で起動することで)、作業を backstage プールに結合することもできます。

  1. passes プロジェクトでプロセスを起動します。


    $ newtask -l -p passes
    
  2. poolbind コマンドに -q オプションを付けて実行し、プロセスとプールの結合を確認します。また、二重ドル記号 ($$) を使用して親シェルのプロセス番号をコマンドに渡します。


    $ poolbind -q $$
    6384  pool backstage

    プロセス ID とプールへの結合が表示されます。