JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 カーネルのチューンアップ・リファレンスマニュアル     Oracle Solaris 11.1 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris システムのチューニングの概要

2.  Oracle Solaris カーネルチューニング可能パラメータ

3.  Oracle Solaris ZFS チューニング可能パラメータ

4.  NFS チューニング可能パラメータ

5.  インターネットプロトコル群のチューニング可能パラメータ

チューニング可能パラメータ情報の記載箇所

IP パラメータのチューニングの概要

IP パラメータの妥当性検証

RFC (Internet Request for Comments)

IP チューニング可能パラメータ

_icmp_err_interval _icmp_err_burst

_respond_to_echo_broadcast_respond_to_echo_multicast (ipv4 または ipv6)

_send_redirects (ipv4 または ipv6)

forwarding (ipv4 または ipv6)

ttl

hoplimit (ipv6)

_addrs_per_if

hostmodel (ipv4 または ipv6)

ip_squeue_fanout

特別な注意を要する IP チューニング可能パラメータ

_pathmtu_interval

_icmp_return_data_bytes (ipv4 または ipv6)

TCP チューニング可能パラメータ

_deferred_ack_interval

_local_dack_interval

_deferred_acks_max

_local_dacks_max

_wscale_always

_tstamp_always

send_buf

recv_buf

max_buf

_cwnd_max

_slow_start_initial

_local_slow_start_initial

_slow_start_after_idle

sack

_rev_src_routes

_time_wait_interval

ecn

_conn_req_max_q

_conn_req_max_q0

_conn_req_min

_rst_sent_rate_enabled

_rst_sent_rate

smallest_anon_port

largest_anon_port

/etc/system ファイルに設定する TCP/IP パラメータ

ipcl_conn_hash_size

ip_squeue_worker_wait

特別な注意を要する TCP パラメータ

_keepalive_interval

_ip_abort_interval

_rexmit_interval_initial

_rexmit_interval_max

_rexmit_interval_min

_rexmit_interval_extra

_tstamp_if_wscale

_recv_hiwat_minmss

UDP チューニング可能パラメータ

send_buf

recv_buf

max_buf

smallest_anon_port

largest_anon_port

IPQoS チューニング可能パラメータ

_policy_mask

SCTP チューニング可能パラメータ

_max_init_retr

_pa_max_retr

_pp_max_retr

_cwnd_max

_ipv4_ttl

_ipv6_hoplimit

_heartbeat_interval

_new_secret_interval

_initial_mtu

_deferred_ack_interval

_ignore_path_mtu

_initial_ssthresh

send_buf

_xmit_lowat

recv_buf

max_buf

_rto_min

_rto_max

_rto_initial

_cookie_life

_max_in_streams

_initial_out_streams

_shutack_wait_bound

_maxburst

_addip_enabled

_prsctp_enabled

smallest_anon_port

largest_anon_port

ルート別のメトリック

6.  システム機能のパラメータ

A.  チューニング可能パラメータの変更履歴

B.  このマニュアルの改訂履歴

索引

TCP チューニング可能パラメータ

_deferred_ack_interval

説明

直接接続していないホストに対する TCP 遅延肯定応答 (ACK) タイマーのタイムアウト値を指定します。

RFC 1122 の 4.2.3.2 を参照してください。

デフォルト

100 ミリ秒

範囲

1 ミリ秒から 1 分

動的か

はい

どのような場合に変更するか

このパラメータには、500 ミリ秒を超える値を設定しないでください。

次の場合は、値を増やします。

  • ネットワークリンクが遅く (57.6 Kbps 未満)、最大セグメントサイズ (MSS) が 512 バイトを超える

  • この間隔が複数のTCP セグメントを受信するには短すぎる

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_local_dack_interval

説明

直接接続しているホストに対する TCP 遅延肯定応答 (ACK) タイマーのタイムアウト値を指定します。

RFC 1122 の 4.2.3.2 を参照してください。

デフォルト

50 ミリ秒

範囲

10 から 500 ミリ秒

動的か

はい

どのような場合に変更するか

このパラメータには、500 ミリ秒を超える値を設定しないでください。

次の場合は、値を増やします。

  • ネットワークリンクが遅く (57.6 Kbps 未満)、最大セグメントサイズ (MSS) が 512 バイトを超える

  • この間隔が複数のTCP セグメントを受信するには短すぎる

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_deferred_acks_max

説明

肯定応答 (ACK) が生成される前にリモート宛先 (直接接続していない) から受け取られる TCP セグメントの最大数を指定します。TCP セグメントは、個々の接続の最大セグメントサイズ (MMS) 単位で表されます。このパラメータに 0 か 1 を設定すると、すべてのセグメントが 1 MSS の長さであるとみなされ、遅延 ACK は使用されなくなります。実際の数は、接続ごとに動的に計算されます。この値はデフォルトの最大値です。

デフォルト

2

範囲

0 から 16

動的か

はい

どのような場合に変更するか

この値は変更しないでください。ただし、遅延 ACK の影響でネットワークトラフィックが著しく混雑するような状況では、この値を減らします。ただし、2 より小さくしないでください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_local_dacks_max

説明

肯定応答 (ACK) が生成される前に宛先 (直接接続している) から受け取られる TCP セグメントの最大数を指定します。TCP セグメントは、個々の接続の最大セグメントサイズ (MMS) 単位で表されます。このパラメータに 0 か 1 を設定すると、すべてのセグメントが 1 MSS の長さであるとみなされ、遅延 ACK は使用されなくなります。実際の数は、接続ごとに動的に計算されます。この値はデフォルトの最大値です。

デフォルト

8

範囲

0 から 16

動的か

はい

どのような場合に変更するか

この値は変更しないでください。ただし、遅延 ACK の影響でネットワークトラフィックが著しく混雑するような状況では、この値を減らします。ただし、2 より小さくしないでください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_wscale_always

説明

このパラメータが有効になっていると (デフォルトの設定)、ウィンドウスケールオプションの値が 0 の場合でも、TCP は常にウィンドウスケールオプションを指定して SYN セグメントを送信します。ウィンドウスケールオプションの指定された SYN セグメントを受信すると、パラメータが無効になっている場合でも、TCP は、ウィンドウスケールオプションを指定して SYN セグメントに応答します。オプションの値は受信ウィンドウサイズに従って設定されます。

ウィンドウスケールオプションについては、RFC 1323 を参照してください。

デフォルト

1 (有効)

範囲

0 (無効)、1 (有効)

動的か

はい

どのような場合に変更するか

ウィンドウスケールオプションをサポートしていない古い TCP スタックとの相互運用性の問題がある場合は、このパラメータを無効にしてください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_tstamp_always

説明

1 が設定されていると、TCP は常にタイムスタンプオプションを指定して SYN セグメントを送信します。TCP は、タイムスタンプオプションの指定された (0 の場合もある) SYN セグメントを受信すると、タイムスタンプオプションを指定して SYN セグメントに応答します。

デフォルト

0 (無効)

範囲

0 (無効)、1 (有効)

動的か

はい

どのような場合に変更するか

往復時間 (RTT) や TCP シーケンス番号ラップアラウンドを正確に測定したい場合、有効にします。

このオプションを有効にする理由については、RFC 1323 を参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

send_buf

説明

デフォルトの送信ウィンドウサイズをバイト数で指定します。ルートごとに異なる値を設定する方法については、後述の「ルート別のメトリック」を参照してください。max_bufも参照してください。

デフォルト

49,152

範囲

4,096 から max_bufの現在の値

動的か

はい

どのような場合に変更するか

アプリケーションは setsockopt(3XNET) SO_SNDBUF を使って、送信バッファーを接続ごとに変更できます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

recv_buf

説明

デフォルトの受信ウィンドウサイズをバイト数で指定します。ルートごとに異なる値を設定する方法については、後述の「ルート別のメトリック」を参照してください。max_buf_recv_hiwat_minmssも参照してください。

デフォルト

128,000

範囲

2,048 から max_bufの現在の値

動的か

はい

どのような場合に変更するか

アプリケーションは setsockopt(3XNET) SO_RCVBUF を使って、受信バッファーを接続ごとに変更できます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

max_buf

説明

送信および受信バッファーサイズの最大値をバイト数で指定します。このパラメータは、setsockopt(3XNET) を使用するアプリケーションによって設定される送信バッファーサイズと受信バッファーサイズを制御します。

デフォルト

1,048,576

範囲

128,000 から 1,073,741,824

動的か

はい

どのような場合に変更するか

高速ネットワーク環境で TCP 接続を行う場合は、ネットワークリンクの速度に合わせて値を増やします。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_cwnd_max

説明

TCP 輻輳ウィンドウ (cwnd) の最大値をバイト数で指定します。

TCP 輻輳ウィンドウについては、RFC 1122 と 2581 を参照してください。

デフォルト

1,048,576

範囲

128 から 1,073,741,824

動的か

はい

どのような場合に変更するか

アプリケーションが setsockopt(3XNET) を使用してウィンドウサイズに _cwnd_max より大きい値を設定しようとしても、使用される実際のウィンドウが _cwnd_max を超えることはありません。したがって、_max_buf_cwnd_max より大きくするべきです。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_slow_start_initial

説明

輻輳ウィンドウ (cwnd) の初期サイズの最大値を TCP 接続の MSS 単位で指定します。

輻輳ウィンドウの初期サイズがどのように計算されるかについては、RFC 2414 を参照してください。

デフォルト

10

範囲

1 から 10

動的か

はい

どのような場合に変更するか

この値は変更しないでください。

特殊な状況下で cwnd の初期サイズがネットワークの輻輳を招く場合は、この値を減らします。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_local_slow_start_initial

説明

輻輳ウィンドウ (cwnd) の初期サイズを、直接接続されたホスト間の TCP 接続の最大セグメントサイズ (MSS) 単位で指定します。

デフォルト

10

範囲

1 から 16,384

動的か

はい

どのような場合に変更するか

初期ウィンドウが大きい方がアプリケーションにメリットがある場合、このパラメータを増やします。

コミットレベル

変更の可能性あり

変更履歴

詳細は、_local_slow_start_initial を参照してください。

_slow_start_after_idle

説明

輻輳ウィンドウが 1 再送タイムアウト (RTO) の間アイドルにされた (セグメントをまったく受信しなかった) あとの輻輳ウィンドウのサイズを TCP 接続の MSS 単位で指定します。

輻輳ウィンドウの初期サイズがどのように計算されるかについては、RFC 2414 を参照してください。

デフォルト

4

範囲

1 から 16,384

動的か

はい

どのような場合に変更するか

詳細は、_slow_start_initialを参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

sack

説明

2 が設定されていると、TCP は常に選択的肯定応答 (SACK) 許可オプションを指定して SYN セグメントを送信します。SACK 許可オプションとして値 1 が指定されている SYN セグメントを受信した場合、TCP は SACK 許可オプションを指定して応答します。値 0 が設定されている場合は、着信セグメントに SACK 許可オプションが指定されているかどうかにかかわらず、TCP は SACK 許可オプションを送信しません。

SACK オプションについては、RFC 2018 を参照してください。

デフォルト

2 (自発的に有効にする)

範囲

0 (無効)、1 (受動的に有効にする)、2 (自発的に有効にする) のいずれか

動的か

はい

どのような場合に変更するか

SACK 処理を行うと TCP 再送のパフォーマンスが向上するため、自発的に有効にします。自発的に有効にすると相手方が混乱するおそれがある場合は、1 を設定します。この場合、SACK 処理は、着信接続で SACK 処理が許可されているときにのみ行われます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rev_src_routes

説明

0 が設定されていると、TCP は、セキュリティー上の理由により、着信接続に対して IP ソースルーティングオプションを逆方向に使用しません。1 が設定されている場合は、通常どおりソースルーティングを逆方向に使用します。

デフォルト

0 (無効)

範囲

0 (無効)、1 (有効)

動的か

はい

どのような場合に変更するか

診断のために IP ソースルーティングが必要な場合は、有効にします。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_time_wait_interval

説明

TCP 接続を TIME-WAIT 状態に保つ時間をミリ秒で指定します。

RFC 1122 の 4.2.2.13 を参照してください。

デフォルト

600,000 (60 秒)

範囲

1 秒から 10 分

動的か

はい

どのような場合に変更するか

この値は 60 秒より小さくしないでください。

このパラメータの変更方法については、RFC 1122 の 4.2.2.13 を参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

ecn

説明

ECN (Explicit Congestion Notification、明示的輻輳通知) のサポートを制御します。

このパラメータが 0 に設定されていると、TCP は、ECN メカニズムをサポートしている接続先とのネゴシエーションを行いません。

接続開始時にこのパラメータが 1 に設定されていると、TCP は、ECN メカニズムをサポートしていることを接続先に通知しません。

ただし、接続先が SYN セグメントで ECN メカニズムをサポートしていることを示した場合、TCP は、新しい着信接続要求を受けた際に、ECN メカニズムをサポートしていることを接続先に通知します。

このパラメータを 2 に設定すると、TCP は接続を受け付けた時点で ECN メカニズムに関して接続先とネゴシエーションを行います。さらに、TCP は自発的な送信接続を行う際に、送信する SYN セグメント内で、ECN メカニズムをサポートしていることを示します。

ECN については、RFC 3168 を参照してください。

デフォルト

1 (受動的に有効にする)

範囲

0 (無効)、1 (受動的に有効にする)、2 (自発的に有効にする) のいずれか

動的か

はい

どのような場合に変更するか

TCP は、ECN を利用して、輻輳制御の処理を効率化できます。ただし、このメカニズムにより、既存の TCP 実装やファイアウォール、NAT などのネットワークデバイスが混乱する場合もあります。混乱するデバイスは IETF 非準拠です。

これらのデバイスを考慮し、このパラメータのデフォルト値は 1 に設定されています。ただし、まれに、受動的に有効にした場合でも問題が生じる場合があります。必要がある場合以外は、パラメータを 0 に設定しないでください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_conn_req_max_q

説明

accept(3SOCKET) によって受け付けられるのを待っている TCP リスナーの、保留状態の TCP 接続のデフォルトの最大数を指定します。_conn_req_max_q0も参照してください。

デフォルト

128

範囲

1 から 4,294,967,295

動的か

はい

どのような場合に変更するか

複数の接続要求を受けることのある Web サーバーのようなアプリケーションでは、着信頻度に応じてこのデフォルト値を増やすことができます。

このパラメータに著しく大きい値を設定しないでください。保留状態の TCP 接続はメモリーを過剰に使用することがあります。さらに、保留状態の TCP 接続の数が多すぎて、アプリケーションが接続要求を適時に処理できない場合は、新しい着信要求が拒否されることがあります。

_conn_req_max_q を増やしても、アプリケーションでそれだけの数の保留状態の TCP 接続を持てるとは限りません。アプリケーションでは、listen(3SOCKET) を使用して、保留状態の TCP 接続の最大数をソケットごとに変更できます。このパラメータは、アプリケーションが listen() を使用して設定できる最大値を表します。つまり、このパラメータに非常に大きな値を設定しても、あるソケットに対する実際の最大数は、listen() に指定された値によっては _conn_req_max_q よりもはるかに少ないことがあります。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_conn_req_max_q0

説明

単一の TCP リスナーが持つことができる、不完全な (3 段階ハンドシェークがまだ終わっていない) 保留状態の TCP 接続のデフォルトの最大数を指定します。

TCP の 3 段階ハンドシェークについては、RFC 793 を参照してください。_conn_req_max_qも参照してください。

デフォルト

1,024

範囲

0 から 4,294,967,295

動的か

はい

どのような場合に変更するか

きわめて多くの接続要求を受信することがある Web サーバーのようなアプリケーションでは、着信頻度に応じてこのデフォルト値を増やすことができます。

_conn_req_max_q0 と、各ソケットについて保留状態にある接続の最大数との関係は、次のとおりです。

接続要求を受信すると、TCP はまず、受け付けられるのを待っている保留状態の TCP 接続 (3 段階ハンドシェークが終わっている) の数が、そのリスナーに対する最大数 (N) を超えていないかをチェックします。接続数が超えていると、その要求は拒否されます。超えていなければ、 は、不完全な保留状態の TCP 接続の数が、Ntcp_conn_req_max_q0 の合計を超えていないかをチェックします。そうでなければ、その要求は受け付けられます。それ以外の場合、もっとも古い不完全な保留状態の TCP 要求がドロップされます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_conn_req_min

説明

受け付けられるのを待っている、単一のリスナーの保留状態の TCP 接続の最大数のデフォルトの最小値。これは、1 つのアプリケーションが使用できる listen(3SOCKET) のもっとも小さい最大値です。

デフォルト

1

範囲

1 から 1,024

動的か

はい

どのような場合に変更するか

このパラメータにより、listen(3SOCKET) を使用するアプリケーションが保留状態の TCP 接続の最大数を過度に小さく設定するのを防ぐことができます。この値は、着信接続要求の頻度に応じて増やすことができます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rst_sent_rate_enabled

説明

このパラメータに 1 が設定されている場合、RST セグメントの最大送信速度は、ipmadm パラメータ _rst_sent_rate によって制御されます。このパラメータに 0 が設定されている場合、RST セグメントの送信時に速度を制御することはできません。

デフォルト

1 (有効)

範囲

0 (無効)、1 (有効)

動的か

はい

どのような場合に変更するか

このチューニング可能パラメータは、RST セグメントの送信速度を制限することで、TCP に対するサービス拒否攻撃を防止します。この速度制御は、RFC 793 に厳密に準拠する必要がある場合にのみ、無効になります。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rst_sent_rate

説明

TCP が 1 秒間に送信できる最大 RST セグメント数を設定します。

デフォルト

40

範囲

0 から 4,294,967,295

動的か

はい

どのような場合に変更するか

TCP 環境では、正当な理由により、デフォルト値より多くの RST が生成される場合があります。このような場合は、このパラメータのデフォルト値を引き上げます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

smallest_anon_port

説明

このパラメータは、TCP が一時的なポートとして選択できる最小ポート番号を制御します。アプリケーションでは、指定されたプロトコルを使って接続を作成する際に、ポート番号を指定しないで一時的なポートを使用することができます。一時的なポートは、特定のアプリケーションに関連付けられていません。接続が閉じられると、ポート番号を別のアプリケーションで再利用できます。

単位

ポート番号

デフォルト

32,768

範囲

1,024 から 65,535

動的か

はい

どのような場合に変更するか

より広範囲の一時的なポートが必要な場合。

コミットレベル

変更の可能性あり

変更履歴

詳細は、[tcp,sctp,udp]_smallest_anon_port および [tcp,sctp,udp]_largest_anon_portを参照してください。

largest_anon_port

説明

このパラメータは、TCP が一時的なポートとして選択できる最大ポート番号を制御します。アプリケーションでは、指定されたプロトコルを使って接続を作成する際に、ポート番号を指定しないで一時的なポートを使用することができます。一時的なポートは、特定のアプリケーションに関連付けられていません。接続が閉じられると、ポート番号を別のアプリケーションで再利用できます。

単位

ポート番号

デフォルト

65,535

範囲

32,768 から 65,535

動的か

はい

どのような場合に変更するか

より広範囲の一時的なポートが必要な場合。

コミットレベル

変更の可能性あり

変更履歴

詳細は、[tcp,sctp,udp]_smallest_anon_port および [tcp,sctp,udp]_largest_anon_portを参照してください。

/etc/system ファイルに設定する TCP/IP パラメータ

次のパラメータは、/etc/system ファイル内でのみ設定できます。ファイルを変更したあとで、システムをリブートしてください。

たとえば、次のエントリでは ipcl_conn_hash_size パラメータを設定します。

set ip:ipcl_conn_hash_size=value

ipcl_conn_hash_size

説明

IP によって使用される接続ハッシュテーブルのサイズを制御します。デフォルト値 0 の場合、システムは、使用可能なメモリー容量に基づいて、ブート時にこのパラメータの適切な値を自動的に決定します。

データ型

符号なし整数

デフォルト

0

範囲

0 から 82,500

動的か

いいえ。このパラメータはブート時にのみ変更できます。

どのような場合に変更するか

常に非常に大量の TCP 接続が確立されているシステムでは、それに応じてこの値を増やすことができます。ハッシュテーブルサイズを大きくすると、より多くのメモリーが消費され、ユーザーアプリケーション用として提供できるメモリーの量が減ります。

コミットレベル

変更の可能性あり

ip_squeue_worker_wait

説明

TCP/IP パケットを squeue に格納して処理するワークスレッドが起動するまでの最大遅延時間を制御します。squeue は TCP/IP カーネルコードが TCP/IP パケット処理に使用する直列化キューです。

デフォルト

10 ミリ秒

範囲

0 から 50 ミリ秒

動的か

はい

どのような場合に変更するか

遅延が発生しないほうが望ましく、かつ、ネットワークトラフィックが少ない場合。たとえば、対話型ネットワークトラフィックの大部分がマシンで処理されている場合など。

ネットワークファイルサーバー、Web サーバーなど、実際にネットワークトラフィックが発生しているすべてのサーバーでは、通常、デフォルト値が最適です。

ゾーン構成

このパラメータを設定できるのは、大域ゾーン内だけです。

コミットレベル

変更の可能性あり

特別な注意を要する TCP パラメータ

次のパラメータの変更は非推奨です。

_keepalive_interval

説明

この ipadm パラメータは、システム全体で TCP 接続がアイドル状態になってから最初にプローブが送信されるまでの間隔を設定します。

Solaris は、RFC 1122 に記述されている TCP キープアライブメカニズムをサポートします。このメカニズムは、TCP ソケットで SO_KEEPALIVE ソケットオプションを設定することで有効になります。

ソケットで SO_KEEPALIVE が有効な場合、TCP 接続が 2 時間 (tcp_keepalive_interval パラメータのデフォルト値) アイドル状態になると最初のキープアライブプローブが送信されます。ピアがプローブに 8 分間応答しない場合、TCP 接続が終了します。詳細は、_rexmit_interval_initialを参照してください。

また、個々のアプリケーションに TCP_KEEPALIVE_THRESHOLD ソケットオプションを使用してデフォルトの間隔をオーバーライドすれば、各アプリケーションがソケットごとに独自の間隔を持つようにできます。オプションの値は、ミリ秒単位の符号なし整数です。tcp(7P) のマニュアルページも参照してください。

デフォルト

2 時間

範囲

10 秒から 10 日

単位

符号なし整数 (ミリ秒)

動的か

はい

どのような場合に変更するか

この値は変更しないでください。この値を小さくすると、不必要なネットワークトラフィックが生じる可能性があるとともに、ネットワークの一時的な問題のために未完了のまま接続が終了してしまう可能性も高くなります。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_ip_abort_interval

説明

TCP 接続に対するデフォルトの合計再送タイムアウト値をミリ秒で指定します。ある 接続で、TCP が tcp_ip_abort_interval の間再転送を行なっても、この間に相手側のエンドポイントから肯定応答をまったく受け取らないと、この接続は閉じられます。

TCP の再送タイムアウト (RTO) の計算については、RFC 1122 の 4.2.3 を参照してください。_rexmit_interval_maxも参照してください。

デフォルト

5 分

範囲

500 ミリ秒から 1193 時間

動的か

はい

どのような場合に変更するか

この値は変更しないでください。例外については、_rexmit_interval_maxを参照してください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rexmit_interval_initial

説明

TCP 接続に対するデフォルトの初期再送タイムアウト値をミリ秒で指定します。ルートごとに異なる値を設定する方法については、後述の「ルート別のメトリック」を参照してください。

デフォルト

1000 ミリ秒

範囲

1 ミリ秒から 20000 ミリ秒

動的か

はい

どのような場合に変更するか

この値は変更しないでください。この値を小さくすると、不要な再転送が行われるおそれがあります。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rexmit_interval_max

説明

デフォルトの最大再送タイムアウト値 (RTO) をミリ秒で指定します。すべての TCP 接続に対して、計算された RTO がこの値を超えることはできません。_ip_abort_intervalも参照してください。

デフォルト

6000 ミリ秒

範囲

1 ミリ秒から 7200000 ミリ秒

動的か

はい

どのような場合に変更するか

通常のネットワーク環境では、この値を変更しないでください。

単一の接続の往復時間 (RTT) が 10 秒程度になるような特別な状況では、この値を増やすことができます。この値を変更する場合は、合わせて _ip_abort_interval パラメータも変更するべきです。_ip_abort_interval には、_rexmit_interval_max の 4 倍以上の値を指定します。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rexmit_interval_min

説明

デフォルトの最小再送タイムアウト値 (RTO) をミリ秒で指定します。すべての TCP 接続に対して、計算された RTO がこの値を下回ることはできません。_rexmit_interval_maxも参照してください。

デフォルト

200 ミリ秒

範囲

1 ミリ秒から 7200000 ミリ秒

動的か

はい

どのような場合に変更するか

通常のネットワーク環境では、この値を変更しないでください。

TCP の RTO 計算は、RTT のもっとも大きい変動に対処できます。単一の接続の往復時間 (RTT) が 10 秒程度になるような特別な状況では、この値を増やすことができます。この値を変更する場合は、合わせて _rexmit_interval_max パラメータも変更するべきです。_rexmit_interval_max には、_rexmit_interval_min の 8 倍以上の値を指定します。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_rexmit_interval_extra

説明

計算された再送タイムアウト値 (RTO) に追加する定数をミリ秒で指定します。

デフォルト

0 ミリ秒

範囲

0 から 7200000 ミリ秒

動的か

はい

どのような場合に変更するか

この値は変更しないでください。

計算された RTO が接続に対して適切でない場合は、不要な再転送を避けるためにこの値を変更することができます。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_tstamp_if_wscale

説明

このパラメータに 1 が設定され、かつ、ある接続に対するウィンドウスケールオプションが有効になっていると、TCP は、その接続の timestamp オプションも有効にします。

デフォルト

1 (有効)

範囲

0 (無効)、1 (有効)

動的か

はい

どのような場合に変更するか

この値は変更しないでください。一般に、TCP を高速ネットワークで使用する場合は、シーケンス番号のラップアラウンドに対する保護が必要になります。この場合、timestamp オプションが必要になります。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。

_recv_hiwat_minmss

説明

デフォルトの最小受信ウィンドウサイズを制御します。最小値は、_recv_hiwat_minmss に、接続の最大セグメントサイズ (MSS) を掛けた値です。

デフォルト

8

範囲

1 から 65,536

動的か

はい

どのような場合に変更するか

この値は変更しないでください。この値を変更する必要がある場合は、4 より小さい値にしないでください。

コミットレベル

変更の可能性あり

変更履歴

詳細は、「TCP パラメータの名前の変更 (Oracle Solaris 11)」を参照してください。