■システムパラメタ
一般的な CORBAサービスが使用する共用メモリ、セマフォ、メッセージキューのシステムパラメタのチューニングについて説明します。
CORBAサービスの他に共用メモリ、セマフォ、メッセージキューを使用するアプリケーションが存在する場合、そのアプリケーションが使用する資源にCORBAサービスの資源量を加算してください。
システムパラメタの変更方法や、各パラメタの意味については、“システムパラメタについて”を参照してください。
CORBAサービス
CORBAサービスで必要となるシステム資源について、以下に示します。
注意
各表に記述されているパラメタ名(max_IIOP_resp_conなど)は、CORBAサービスのconfigファイルで指定します。詳細については、“A.1 config”を参照してください。
共用メモリ
パラメタ | 資源制御 | 種類 | 必要数 |
---|---|---|---|
shmmax | - | 設定値 | Solarisのドキュメントおよび“システムパラメタについて”を参照して値を決定してください。 |
- | project.max-shm-memory | 加算値 | max_IIOP_resp_con × 0.4K + |
[SSL連携機能を使用する場合] | |||
[トレース機能を使用する場合] | |||
[スナップショット機能を使用する場合] | |||
[CORBAワークユニットを使用する場合] | |||
shmmni | project.max-shm-ids | 加算値 | max_IIOP_resp_con_extend_number(注2) + |
limit_of_[パラメタ名]のデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
[パラメタ名] × 1.3 (小数部分切り捨て)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、[パラメタ名]となります。
[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
(limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。
デフォルトは以下です。0が指定された場合も、以下と同様になります。
trace_size_per_process × 32
デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_IIOP_resp_requests × 0.2
Buffer Size、Buffer Numberを指定したCORBAワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値に、“Buffer Size、Buffer Number(ワークユニット定義)を指定したアプリケーション数”を積算した値が該当します。
なお、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が 2,147,483,647より小さい値になるようにBuffer Size、Buffer Numberの値を設定してください。
デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_processes × 1024 (計算結果が65,535を超えた場合は65,535)
デフォルトは以下です。0が指定された場合も、以下と同様になります。
limit_of_max_IIOP_resp_requests
共用メモリ
パラメタ | 種類 | 必要数 |
---|---|---|
kernel.shmmax | 設定値 | 以下の値のうち、最大値を指定します。
|
kernel.shmmni | 加算値 | max_IIOP_resp_con_extend_number(注1) + |
[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。limit_of_[パラメタ名]は、0が指定された場合は自動計算されます。計算式の詳細については、“config”を参照してください。
(limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。
デフォルトは以下です。0が指定された場合も、以下と同様になります。
trace_size_per_process × 32
デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_IIOP_resp_requests × 0.2
Buffer Size、Buffer Numberを指定したワークユニット定義の中で、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が該当します。
なお、“(Buffer Size + 0.2KB) × Buffer Number”の最大値が 2,147,483,647より小さい値になるようにBuffer Size、Buffer Numberの値を設定してください。
デフォルトは以下です。0が指定された場合も、以下と同様になります。
max_processes × 1024 (計算結果が65,535を超えた場合は65,535)
セマフォ
パラメタ | 資源制御 | 種類 | 必要数 |
---|---|---|---|
semmni | project.max-sem-ids | 加算値 | 以下の値のうち、最大値を指定します。
|
semmsl | process.max-sem-nsems | 設定値 | 以下の値のうちの最大値以上の値を指定します。
|
semopm | process.max-sem-ops | 設定値 | 50 以上 |
[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
(limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。
起動プロセス数が分からない場合はmax_processesを指定してください。
セマフォ
パラメタ | 種類 | 必要数 |
---|---|---|
para1 | 設定値 | 以下の値のうちの最大値以上の値を指定します。
|
para2 | 加算値 | limit_of_max_IIOP_resp_con(注1) × 4 + |
[トレース機能を使用する場合] | ||
[スナップショット機能を使用する場合] | ||
[SSL連携機能を使用する場合] | ||
para3 | 設定値 | 50 以上 |
para4 | 加算値 | 以下の値のうち、最大値を指定します。
|
limit_of_[パラメタ名]のデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
[パラメタ名] × 1.3 (小数部分切り捨て)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、[パラメタ名]となります。
[パラメタ名]_extend_numberのデフォルト値は以下となります。0が指定された場合も、以下と同様になります。
(limit_of_[パラメタ名] - [パラメタ名]) ÷ [パラメタ名] (小数部分切り上げ)
isconfig.xmlファイルの定義項目AutoConfigurationModeにMANUALを指定し、自動拡張を行わない設定にした場合は、0となります。
起動プロセス数が分からない場合はmax_processesを指定してください。
メッセージキュー
パラメタ | 資源制御 | 種類 | 必要数 |
---|---|---|---|
msgmnb | process.max-msg-qbytes | 設定値 | 32,768 以上 |
msgmni | project.max-msg-ids | 加算値 | 512 以上 |
メッセージキュー
パラメタ | 種類 | 必要数 |
---|---|---|
kernel.msgmax | 設定値 | 16,384 以上 |
kernel.msgmnb | 設定値 | 32,768 以上 |
kernel.msgmni | 加算値 | 512 以上 |
インタフェースリポジトリ
インタフェースリポジトリを使用する場合に必要となるシステム資源を以下に示します。
共用メモリ
パラメタ | 資源制御 | 種類 | 必要数 |
---|---|---|---|
shmmax | - | 設定値 | Solarisのドキュメントおよび“システムパラメタについて”を参照して値を決定してください。 |
- | project.max-shm-memory | 加算値 | [ログ採取時(EJBサービス未使用)] |
[ログ採取時(EJBサービス使用)] | |||
shmmni | project.max-shm-ids | 加算値 | [EJBサービスを使用しない場合] |
[EJBサービスを使用する場合] |
“logging memory size”は、CORBAサービスのirconfigファイルで指定します。詳細については、“A.6 irconfig”を参照してください。
共用メモリ
パラメタ | 種類 | 必要数 |
---|---|---|
kernel.shmmax | 設定値 | [ログ採取時] |
“logging memory size”は、CORBAサービスのirconfigファイルで指定します。詳細については、“A.6 irconfig”を参照してください。
ネーミングサービス
ネーミングサービスにネーミングコンテキストを多数作成する場合に必要となるシステム資源を、以下に示します。
パラメタ | 種類 | 必要数 |
---|---|---|
nofile (注1) | 加算値 | ネーミングコンテキスト数 + 16 以上 |
プロセス数あたりのオープン可能なファイル数です。
bash(Linux)または、ボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して、ネーミングサービスのプロセスが必要とするファイルをオープンできるだけの値を設定してください。コマンドの詳細については、OSのドキュメントを参照してください。
RHEL7の場合、環境定義用unitファイルにパラメタを設定します。環境定義用unitファイルに指定する起動用unitファイル名は、FJSVtd_start.serviceを指定します。
環境定義用unitファイルの詳細については、“付録I RHEL7のunitファイルでの環境定義”を参照してください。
■アプリケーションで使用するスレッド数・プロセス数
CORBAサービスでアプリケーションを実行する場合、アプリケーションから生成されるプロセス数・スレッド数が多くなる場合には、システムパラメタを変更する必要があります。
アプリケーションをマルチスレッドで作成している場合に、生成されるスレッド数の目安を以下に示します。
分類 | スレッド数 |
---|---|
CORBAサービス | 25個 + クライアントアプリケーションとの接続数 |
サーバアプリケーション | 1プロセスにつき (6個 + スレッド多重度数) |
クライアントアプリケーション | 1プロセスにつき8個 |
システムパラメタで、変更が必要となるものを以下に示します。
パラメタ | 内容 |
---|---|
max_nprocs | システム全体で生成できるプロセス数 |
kernel.threads-max | システム全体で生成できるプロセス数とスレッド数の合計 |
システムパラメタ以外で、考慮するパラメタを以下に示します。
パラメタ | 内容 |
---|---|
stack (注1) | プロセスの最大スタックサイズ |
nproc (注2) | 使用できる最大のプロセス数 |
bashまたはボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して設定してください。この値にスレッド数を掛けた値が、プロセスのスタック領域として使用されます。1つのプロセスで使用可能なメモリを超過してスレッドは生成できないため、1つのプロセスが生成できるスレッド数は限界があります。
CORBAサーバアプリケーションおよびEJBアプリケーションのリクエスト処理多重度は“スレッド多重度 × プロセス多重度”で計算されます。1つのプロセスで使用可能なメモリサイズによってスレッド多重度を上げることができない場合は、プロセス多重度を上げることを検討してください。CORBAサーバアプリケーションのスレッド多重度・プロセス多重度については“リファレンスマニュアル(コマンド編)”の“OD_impl_inst”に記載されているproc_conc_max、thr_conc_init、thr_conc_maximumを参照してください。
EJBアプリケーションのスレッド多重度については、“J2EE ユーザーズガイド(旧版互換)”-“EJBコンテナのチューニング”に記載されている“同時処理数”を参照してください。
bashまたはボーンシェルの場合はulimitコマンドを、Cシェルの場合はlimitコマンドを使用して設定してください。ユーザが生成するプロセス数とスレッド数の合計値以上の値に設定してください。
RHEL7の場合、環境定義用unitファイルにパラメタを設定します。環境定義用unitファイルに指定する起動用unitファイル名は、FJSVtd_start.serviceを指定します。
環境定義用unitファイルの詳細については、“付録I RHEL7のunitファイルでの環境定義”を参照してください。
■ファイルディスクリプタ数
CORBAサービスで多数のアプリケーションを動作させ(多端末接続時など)、使用するファイルディスクリプタ数がシステムのデフォルト値を超える場合は、システムパラメタにその値を設定してください。
パラメタ | 内容 |
---|---|
rlim_fd_cur | 使用するファイルディスクリプタ数がデフォルト値を超える場合に設定。 |
システムパラメタで、変更が必要となるものを以下に示します。
パラメタ | 内容 |
---|---|
fs.file-max | システム全体のファイルディスクリプタの上限値。 |
システムパラメタ以外で、考慮するパラメタを以下に示します。
パラメタ | 内容 |
---|---|
nofile (注1) | 各ユーザのオープン可能なファイルディスクリプタの上限値 |
/etc/security/limits.conf ファイルを編集します。limits.conf ファイルの詳細については、オペレーティングシステムのドキュメントを参照してください。