Solaris Resource Manager の CPU スケジューラ (SHR) は、プロセスごとにユーザー優先順位とユーザー優先順位の上限値を設定します。SHR クラスのパラメータの外部動作とその範囲は TS クラスと互換性があります。SHR クラスのプロセスのユーザー優先順位と nice 値 (nice(1) を参照) との間では、ほぼ直線的に対応しています。ユーザー優先順位の範囲が -x から +x である場合、-x は最大の nice(19) に対応し、デフォルトのユーザー優先順位 (0) はデフォルトの nice(0) に対応し、+x は nice -20 に対応します。ユーザー優先順位または nice 値のどちらかを変更すると、もう一方のパラメータも対応して変更されます。
次に、タイムシェアリングパラメータを設定するために有効な SHR クラスに固有なオプションを示します。
指定したプロセスのユーザー優先順位の制限を shruprilim に設定します。
指定したプロセスのユーザー優先順位を shrupri に設定し、その nice 値を対応するように設定します。
これらのパラメータの有効な範囲を表示するには、次のコマンドを使用します。
priocntl -l
次のコマンドは、選択したプロセスのユーザー優先順位とユーザー優先順位の上限値を表示します。
priocntl -d
より高い nice 値を持つ SHR クラスのプロセスは、同じ l ノードにおいて、より低い nice 値を持つ SHR クラスのプロセスよりも低い CPU のサービスを受けます。さらに、より高い nice 値を持つ SHR クラスのプロセスは、より低い nice 値を持つ SHR クラスのプロセスよりも低い率が割り当てられます。
最大の nice 値は特別に処理されます。最大の nice 値を持つ SHR クラスのプロセスは、他のプロセスが実行可能状態でないときだけに CPU のサービスが受けられます。
任意の SHR クラスのプロセスはそれ自身が所有する shrupri を設定できます。つまり、同じユーザー ID を持つ他の SHR クラスのプロセスの shruprilim を、当該プロセスの shruprilim 以下の値に設定できます。スーパーユーザー特権を持つプロセスだけが SHR クラスプロセスの shruprilim 値を上げることができます。
あるプロセスが SHR スケジューリングクラスに属している場合、そのプロセスを別のクラスに移動できるのはスーパーユーザーだけです。
プロセスを SHR クラスに移動できるのはスーパーユーザーだけです。システムのブート時、init プロセスは通常 SHR スケジューリングクラスで起動し、後続のプロセスも SHR クラスを受け継ぎます。
nice(1), priocntl(1), srm(5SRM)
『Solaris Resource Manager 1.3 のシステム管理』
このマニュアルページは、SunOS 5.6、SunOS 5.7 および SunOS 5.8 に適用できます。