ユーザログテーブルを動作させるには、ユーザログテーブルの動作環境の定義に応じたカーネル資源を確保しておく必要があります。
ユーザログテーブルを動作させるために設定が必要なカーネル資源には、以下のものがあります。
共用メモリ資源
セマフォ資源
メッセージキュー資源
それぞれのカーネル資源は、カーネル構成ファイル(/etc/systemファイル)に設定します。
以下の値は、ユーザログテーブルが動作するために必要な値です。
注意
カーネル構成ファイルに値が設定されている場合は、値を確認し、追加や変更を行ってください。カーネル構成ファイルに値が設定されていない場合は、OSの省略値が使用されています。この場合には、OSの省略値を基準にして追加や変更を行ってください。OSが使用している値は、sysdefコマンドにより表示できます。sysdefコマンドの詳細は、OSのmanコマンドで確認してください。
各パラメタの説明で、“最大値”とあるパラメタについては、すでに設定されている値または省略値と比較して大きい方の値を設定し、“加算”とあるパラメタについては、すでに設定されている値または省略値に加算した値を設定してください。
カーネル編集が完了したら、システムを再起動してください。
カーネル構成ファイル内のパラメタは、Solaris OSのリリースにより省略値が変更されたり廃止されたりすることがあります。廃止されたパラメタについては設定は不要です。
Solaris 10オペレーティングシステムの資源制御を使用してプロセス間通信機能(共用メモリ、セマフォ、メッセージキュー)の動作を定義する場合、Solaris 10のprojectデータベースおよびprctlコマンドを使用してください。定義する際には本節を参照して設定値を見積もってください。以下にSolaris 10資源制御名との対応を示します。
/etc/systemファイルカーネルパラメタ | Solaris 10 資源制御名 |
---|---|
shmsys:shminfo_shmmax | project.max-shm-memory |
shmsys:shminfo_shmmni | project.max-shm-ids |
shmsys:shminfo_shmseg | 廃止 |
semsys:seminfo_semmni | project.max-sem-ids |
semsys:seminfo_semmsl | process.max-sem-nsems |
semsys:seminfo_semmns | 廃止 |
semsys:seminfo_semmnu | 廃止 |
msgsys:msginfo_msgmni | project.max-msg-ids |
msgsys:msginfo_msgtql | process.max-msg-messages |
msgsys:msginfo_msgmnb | process.max-msg-qbytes |
msgsys:msginfo_msgmax | 廃止 |
参照
Solaris 10の資源制御の詳細は、システムのドキュメントを参照してください。
カーネル構成ファイル内のパラメタの詳細は、使用しているシステムのドキュメントを参照してください。
■共用メモリ資源
共用メモリ資源の設定について説明します。
カーネル構成ファイル内のshminfo_shmmax、shminfo_shmmni、shminfo_shmsegに、以下の値を設定してください。
パラメタ名 | 必要数 | 備考 |
---|---|---|
shmsys:shminfo_shmmax | RDBEXTMEMの値 × 1024 (注) | 最大値 |
shmsys:shminfo_shmmni | 10 × 同時起動RDBシステム数 | 加算 |
shmsys:shminfo_shmseg | 10 | 最大値 |
注) RDBEXTMEMの詳細は、“3.2.2.2 rdbsetupコマンドが作成する資源”を参照してください。
■セマフォ資源
セマフォ資源の設定について説明します。
カーネル構成ファイル内のseminfo_semmni、seminfo_semmns、seminfo_semmnu、およびseminfo_semmslに、以下の値を設定してください。
パラメタ名 | 必要数 | 備考 |
---|---|---|
semsys:seminfo_semmni | 同時起動RDBシステム数 × 300 | 加算 |
semsys:seminfo_semmns | 同時起動RDBシステム数 × (400 + RDBCNTNUM) (注1) | 加算 |
semsys:seminfo_semmnu | クライアントプロセス多重度 (注2) | 加算 |
semsys:seminfo_semmsl | (RDBCNTNUM + 3) / 15 (注3) | 最大値 |
注1) RDBCNTNUMの詳細は、“3.2.2.2 rdbsetupコマンドが作成する資源”を参照してください。
注2) クライアントプロセス多重度は、同時に実行するアプリケーションおよびRDBコマンド数を規定する値となります。この値の概算方法は以下のようになります。
クライアントプロセス多重度 = 同時にローカルアクセスを行うアプリケーションのプロセス数 + 同時に実行するRDBコマンド数 |
注3) 割り切れない場合は、小数点以下を切り上げて設定してください。ただし、上記の計算式で算出された値が25より小さい場合には、25以上の値を設定してください。
■メッセージキュー資源
カーネル構成ファイル内のmsginfo_msgmax、msginfo_msgmnb、msginfo_msgmni、およびmsginfo_msgtqlに、以下の値を設定してください。
パラメタ名 | 必要数 | 備考 |
---|---|---|
msgsys:msginfo_msgmax | 128 | 最大値 |
msgsys:msginfo_msgmnb | 4096 | 最大値 |
msgsys:msginfo_msgmni | 2 × 同時起動RDBシステム数 | 加算 |
msgsys:msginfo_msgtql | クライアント多重度 × 同時起動RDBシステム数 (注) | 加算 |
注) クライアント多重度は同時に実行するアプリケーションおよびRDBコマンドの数を規定する値となります。この値の概算方法は以下のようになります。
クライアント多重度 = 同時にローカルアクセスを行うすべてのアプリケーションのコネクションの数の合計値 + 同時に実行するRDBコマンド数 |
参照
カーネル資源の設定方法の詳細は、使用しているシステムのドキュメントを参照してください。