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