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

印刷ビューの終了

更新: 2014 年 7 月
 
 

リソース制御のフラグとプロパティー

システム上のリソース制御には、それぞれ特定のプロパティーセットが対応付けられています。このプロパティーセットは、一連のフラグとして定義されます。これらのフラグは、そのリソースが制御されているすべてのインスタンスに対応付けられます。大域フラグは変更できませんが、rctladm または getrctl システムコールを使って取得できます。

ローカルフラグは、特定のプロセスまたはプロセス集合に対するリソース制御の特定のしきい値について、デフォルトの動作と構成を定義します。あるしきい値のローカルフラグが、同じリソース制御で定義されている別のしきい値の動作に影響することはありません。ただし、大域フラグは、特定の制御に対応付けられているすべての値の動作に影響します。ローカルフラグは、prctl コマンドまたは setrctl システムコールを使用すると、対応する各大域フラグで指定された制約内で変更できます。setrctl(2) を参照してください。

ローカルフラグ、大域フラグ、およびそれらの定義の詳細な一覧については、rctlblk_set_value(3C) を参照してください。

特定のリソース制御がしきい値に達したときのシステムの動作を確認するには、rctladm を使ってそのリソース制御の大域フラグを表示します。たとえば、process.max-cpu-time の値を表示するには、次のように入力します。

$ rctladm process.max-cpu-time
	process.max-cpu-time  syslog=off  [ lowerable no-deny cpu-time inf seconds ]

大域フラグは、次のことを示します。

lowerable

この制御の特権値を下げるのに、スーパーユーザー特権を必要としません。

no-deny

しきい値を超えても、リソースへのアクセスは拒否されません。

cpu-time

リソースがしきい値に達したとき、SIGXCPU を送信できます。

seconds

リソース制御の時間。

no-basic

特権タイプ basic を持つリソース制御値を設定できません。特権付きリソース制御値だけが許可されます。

no-signal

リソース制御値に対してローカルのシグナルアクションを設定できません。

no-syslog

このリソース制御に対して大域の syslog メッセージアクションを設定できません。

deny

しきい値を超えたときに、必ずリソースの要求を拒否します。

count

リソース制御のカウント (整数) 値。

bytes

リソース制御のサイズの単位。

リソース制御のローカル値とアクションを表示するには、prctl コマンドを使用します。

$ prctl -n process.max-cpu-time $$
	process 353939: -ksh
	NAME    PRIVILEGE    VALUE    FLAG   ACTION              RECIPIENT
 process.max-cpu-time
         privileged   18.4Es    inf   signal=XCPU                 -
         system       18.4Es    inf   none 

この例では、2 つのしきい値の両方に max (RCTL_LOCAL_MAXIMAL) フラグが設定されており、リソース制御には inf (RCTL_GLOBAL_INFINITE) フラグが設定されています。inf の値は無限大です。この値は制限を与えません。したがって、構成されているように、両方のしきい値は無限大値を意味し、これらの値を上回ることはありません。