解決策 1:
編集: tcp_fin_timeout しない TIME_WAIT 期間を制御します。60 秒にハードコードされています
他の人が述べたように、 TIME_WAIT
にいくつかの接続があります TCP 接続の通常の部分です。 /proc/sys/net/ipv4/tcp_fin_timeout
を調べると間隔がわかります :
[[email protected] ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout
60
そして、その値を変更して変更します:
[[email protected] admin]# echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
または、/etc/sysctl.conf に追加することで永続的に
net.ipv4.tcp_fin_timeout=30
また、RPC サービスまたは NFS を使用しない場合は、オフにすることができます:
/etc/init.d/nfsd stop
完全にオフにしてください
chkconfig nfsd off
解決策 2:
TIME_WAIT は正常です。これは、ソケットが閉じた後の状態であり、失われてパーティーに遅れて現れた可能性のあるパケットを追跡するためにカーネルによって使用されます。 TIME_WAIT 接続の数が多いのは、短時間の接続が大量に発生する兆候であり、心配する必要はありません。
解決策 3:
それは重要ではありません。これは、多数の Sun RCP TCP 接続 (2 ~ 4 分ごとに 1500 ~ 2500 件) を開いたり閉じたりしていることを示しています。 TIME_WAIT
状態とは、ソケットが閉じたときにソケットが入るものであり、ソケットがあまりにも早く再利用された場合のように間違ったアプリケーションにメッセージが到着するのを防ぎ、その他のいくつかの有用な目的のために使用されます。心配しないでください。
(もちろん、それほど多くの RCP 操作を処理する必要のあるものを実際に実行していない場合を除きます。それなら、心配してください。)
解決策 4:
システム上の何かが、システム内で多くの RPC (リモート プロシージャ コール) を実行しています (ソースと宛先の両方が localhost であることに注意してください)。これは NFS マウントの lockd でよく見られますが、rpc.statd や rpc.spray などの他の RPC 呼び出しでも見られる場合があります。
「lsof -i」を使用して、誰がそれらのソケットを開いているかを確認し、それを行っているかを確認できます。おそらく無害です。
解決策 5:
tcp_fin_timeout
TIME_WAIT
を制御しません 遅れ。これを確認するには、ss または netstat を -o とともに使用して、カウントダウン タイマーを確認します。
cat /proc/sys/net/ipv4/tcp_fin_timeout
3
# See countdown timer for all TIME_WAIT sockets in 192.168.0.0-255
ss --numeric -o state time-wait dst 192.168.0.0/24
NetidRecv-Q Send-Q Local Address:Port Peer Address:Port
tcp 0 0 192.168.100.1:57516 192.168.0.10:80 timer:(timewait,55sec,0)
tcp 0 0 192.168.100.1:57356 192.168.0.10:80 timer:(timewait,25sec,0)
tcp 0 0 192.168.100.1:57334 192.168.0.10:80 timer:(timewait,22sec,0)
tcp 0 0 192.168.100.1:57282 192.168.0.10:80 timer:(timewait,12sec,0)
tcp 0 0 192.168.100.1:57418 192.168.0.10:80 timer:(timewait,38sec,0)
tcp 0 0 192.168.100.1:57458 192.168.0.10:80 timer:(timewait,46sec,0)
tcp 0 0 192.168.100.1:57252 192.168.0.10:80 timer:(timewait,7.436ms,0)
tcp 0 0 192.168.100.1:57244 192.168.0.10:80 timer:(timewait,6.536ms,0)
tcp_fin_timeout を 3 に設定しても、TIME_WAIT のカウントダウンは 60 から始まります。ただし、net.ipv4.tcp_tw_reuse を 1 (echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
) に設定している場合 ) その後、カーネルは、TCP セグメントの番号付けに競合の可能性がないと判断した場合、TIME_WAIT でソケットを再利用できます。