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

FSS の構成

Solaris システムのほかのスケジューリングクラスで使用するものと同じコマンドを、FSS でも使用できます。スケジューラクラス、スケジューラの調整可能パラメータ、および個々のプロセスのプロパティーを構成できます。

svcadm restart を使用すると、スケジューラサービスを再起動することができます。詳細は、svcadm(1M) のマニュアルページを参照してください。

ProcedureFSS をデフォルトのスケジューラクラスにする方法

CPU 配分割り当てを有効にするには、FSS をシステムのデフォルトのスケジューラにする必要があります。

priocntldispadmin コマンドを組み合わせて使用することにより、FSS はただちにデフォルトのスケジューラになり、この設定は再起動後も有効です。

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

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

  2. システムのデフォルトのスケジューラが FSS になるように設定します。


    # dispadmin -d FSS
    

    この変更指定は次の再起動で有効になります。再起動後は、システムのすべてのプロセスが FSS スケジューリングクラスで実行されます。

  3. 再起動を行わずに、この設定をただちに有効にします。


    # priocntl -s -c FSS -i all
    

Procedureプロセスを TS クラスから FSS クラスに手動で移動する方法

デフォルトのスケジューリングクラスを変更した後で再起動しなくても、あるスケジューリングクラスから別のスケジューリングクラスにプロセスを手動で移動できます。次の手順は、TS スケジューリングクラスから FSS スケジューリングクラスにプロセスを手動で移動する方法を示しています。

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

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

  2. init プロセス (pid 1) を FSS スケジューリングクラスに移動します。


    # priocntl -s -c FSS -i pid 1
    
  3. すべてのプロセスを TS スケジューリングクラスから FSS スケジューリングクラスに移動します。


    # priocntl -s -c FSS -i class TS
    

    注 –

    すべてのプロセスは、再起動後には再び TS スケジューリングクラスで実行されます。


Procedureプロセスをすべてのユーザークラスから FSS クラスに手動で移動する方法

TS 以外のデフォルトのクラスを使用している場合、たとえば、デフォルトで IA クラスを使用するウィンドウ環境がシステムで実行されている場合があります。デフォルトのスケジューリングクラスを変更した後で再起動しなくても、すべてのプロセスを FSS スケジューリングクラスに手動で移動できます。

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

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

  2. init プロセス (pid 1) を FSS スケジューリングクラスに移動します。


    # priocntl -s -c FSS -i pid 1
    
  3. すべてのプロセスを現在のスケジューリングクラスから FSS スケジューリングクラスに移動します。


    # priocntl -s -c FSS -i all
    

    注 –

    すべてのプロセスは、再起動後には再びデフォルトのスケジューリングクラスで実行されます。


Procedureプロジェクトのプロセスを FSS クラスに手動で移動する方法

プロジェクトのプロセスを、現在のスケジューリングクラスから FSS スケジューリングクラスに手動で移動できます。

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

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

  2. プロジェクト ID 10 で実行するプロセスを FSS スケジューリングクラスに移動します。


    # priocntl -s -c FSS -i projid 10
    

    プロジェクトのプロセスは、再起動後には再びデフォルトのスケジューリングクラスで実行されます。

スケジューラのパラメータを調整する方法

dispadmin コマンドを使用すると、システムの稼働中にプロセススケジューラパラメータを表示または変更できます。たとえば、dispadmin コマンドを使用して、FSS スケジューラのタイムクォンタム (time quantum) 値を調べ、調整できます。「タイムクォンタム」とは、スレッドがプロセッサ上で実行を開始してからそのプロセッサを放棄するまでの時間量のことです。

システムの稼働中に FSS スケジューラの現在のタイムクォンタムを表示するには、次のように入力します。


$ dispadmin -c FSS -g
#
# Fair Share Scheduler Configuration
#
RES=1000
#
# Time Quantum
#
QUANTUM=110

-g オプションを使用するときに、同時に -r オプションも指定すると、タイムクォンタム値の表示に使用する最小単位を指定できます。最小単位を指定しないと、タイムクォンタム値はデフォルトのミリ秒で表示されます。


$ dispadmin -c FSS -g -r 100
#
# Fair Share Scheduler Configuration
#
RES=100
#
# Time Quantum
#
QUANTUM=11

FSS スケジューリングクラスにスケジューリングパラメータを設定するには、dispadmin -s を使用します。file 内の値は、-g オプションで得られる出力と同じ形式で指定する必要があります。これらの値は、カーネル内の現在の値を上書きします。次の行を入力します。


$ dispadmin -c FSS -s file