Solaris のシステム管理 (資源管理とネットワークサービス)

prctl を使用する方法

スーパーユーザーは、prctl と入力することにより、実行中の現在のシェルの最大ファイル記述子を表示できます。


# prctl -n process.max-file-descriptor $$
8437:   sh
process.max-file-descriptor              [ lowerable deny ]
                          256 basic      deny
                        65536 privileged deny
                   2147483647 system     deny

prctl コマンドを使って新しい特権値を一時的に追加し、x-files プロジェクトの各タスクで 4 つ以上の LWP の使用を拒否することもできます。結果は プロジェクト内の各タスクの最大 LWP 数を設定する方法の結果と同じです。次の注釈付きサンプルセッションでこれを示します。


# newtask -p x-files

# id -p
uid=0(root) gid=1(other) projid=101(x-files)

# prctl -n task.max-lwps -t privileged -v 3 -e deny -i project x-files

# prctl -n task.max-lwps -i project x-files
670:    sh
task.max-lwps
                            3 privileged deny
                   2147483647 system     deny

prctl -r を使って資源制御の最小値を変更することもできます。


# prctl -n process.max-file-descriptor -r -v 128 $$