3.10 ファイルディスクリプタの拡張(Linuxの場合)
TP1/EEがオープンできるファイルディスクリプタの上限値を拡張します。ファイルディスクリプタを拡張する場合は,次のオペランドを指定する必要があります。
-
TP1/EEのプロセス関連定義 ……… descriptors_expanse_use
-
TP1/SBのユーザサービス定義 …… setrlimit_nofile
上記オペランドは,「setrlimit_nofile >= max_descriptors」にする必要があります。
プロセス関連定義のdescriptors_expanse_useオペランドにYを指定した場合は,ファイルディスクリプタの上限値(max_descriptorsオペランド)を拡張することができます。ただし,次のような場合は,KFSB65305-Eメッセージを出力し,TP1/EEの起動に失敗します。
-
max_descriptorsオペランドで指定している値が,ハードウェアリミットよりも大きい
-
ファイルディスクリプタの上限拡張(ソフトウェアリミットの拡張)に失敗した
プロセス関連定義のdescriptors_expanse_useオペランドにYを指定した場合は,次のオペランドの最大値が拡張されるので,必要に応じてオペランド値を見直してください。ただし,プロセス関連定義のdescriptors_expanse_useオペランドにNを指定した場合に,次の表に示す上限値を超過した値を指定したときは,KFSB61817-Eメッセージを出力し,TP1/EEの起動に失敗します。
項番 |
オペランド名 |
descriptors_expanse_use オペランドがNの場合の上限値 |
descriptors_expanse_use オペランドがYの場合の上限値 |
---|---|---|---|
1 |
max_descriptors |
1,024 |
32,767 |
2 |
fil_filesystem_no |
800 |
4,096 |
3 |
socket_no |
800 |
20,000 |
4 |
rpc_reply_con_max_cnt |
800 |
20,000 |
5 |
rpc_reply_con_cnt |
800 |
20,000 |
6 |
rpc_reply_proc_max_cnt |
800 |
20,000 |
7 |
rap_max_client |
800 |
20,000 |
8 |
rpc_tcpsend_con_max_cnt |
800 |
20,000 |
9 |
rpc_tcpsend_con_cnt |
800 |
20,000 |
10 |
rpc_tcpsend_proc_max_cnt |
800 |
20,000 |
この機能を使用する場合は,UAP内,または関連PPでselect()関数を使用して,ファイルディスクリプタを参照するような個所は修正が必要になるときがあります。