Solaris Resource Manager 1.1 のシステム管理

システムデーモンプロセス

デーモン (通常永続的に実行するシステム保守プロセス) を root l ノード以外の l ノードに接続することが重要です。root l ノードに接続されているプロセスには特殊なスケジュールが行われ、要求するすべての CPU が必ず与えられます。したがって、CPU をかなり占有する可能性があるプロセスを root l ノードに接続することは避けてください。デーモンをそれぞれの l ノードに接続すれば、中央のシステム管理者が適切な CPU の割当数を割り当てることができます。

ブート手順では、新しいプロセスは親プロセスの l ノード接続を継承します。init プロセスは root l ノードに接続されているので、それ以後のすべてのプロセスもこれを継承します。プロセスを他の l ノードに接続するためには、Solaris Resource Manager の初期化スクリプトを実行し、リミットデータベースを開かなければなりません。しかし、その場合でも、実際に接続するためには、プロセスが (login(1) のように) setuid システムコールを明示的に行うか、(srmuser(1SRM) コマンドのように) 指定した l ノード への接続を Solaris Resource Manager に明示的に要求する必要があります。setuid ファイルモードビットが有効の状態でプログラムを実行すると、l ノードの接続は変更されません。

この結果、システム起動時に自動的に起動されるすべてのシステムプログラムは root l ノードに接続されます。これは望ましくない結果をもたらすことがあります。root l ノードに接続されているプロセスが CPU をかなり占有するようになると、他のプロセスの実行に顕著な影響があるからです。したがって、ブート手順の間にデーモンプロセスを起動する場合は、srmuser コマンドでそれらのプロセスを呼び出して、それぞれの l ノードに明示的に接続する必要があります。この場合にはそれらの実ユーザー ID または実効ユーザー ID には影響しません。

次に例を示します。

/usr/srm/bin/srmuser network in.named

起動スクリプトにある named(1M) デーモンの呼び出しをこの行で置き換えることができます。そのためには、「ネットワーク」のユーザーアカウントと l ノードが事前に確立されている必要があります。