TCP_WAIT を無理やり削る方法

最近はないけど、ftp接続がつながりわりーよーって時に。
すぐダメになりがちなあのサーバがなんとかなればいいよな。


今回はこちら。対象サーバはES4です。


/proc/sys/net/ipv4/tcp_fin_timeout

ソケットをこちら側からクローズしたときに、FIN-WAIT-2 状態に保つ時間。通信先が壊れていると、先方でのクローズをずっと行わなかったり、あるいは予期しない形で死んでしまうかもしれません。デフォルトの値は 60 秒です。2.2 で用いられていた通常の値は 180 秒で、こちらにすることもできますが、マシンが (必ずしも負荷が高くなくても) WEB サーバだったりすると、膨大な FIN-WAIT-2 ソケットのせいでメモリが溢れる危険もあります。 FIN-WAIT-2 ソケットは 1.5K のメモリしか食わないので FIN-WAIT-1 ほど危険ではありませんが、しかし長く生きる傾向があります。参照: tcp_max_orphans

via http://oshiete1.goo.ne.jp/kotaeru.php3?q=2211552


まずはTIME_WAIT値の現在地を確認

# sysctl -a|grep fin
net.ipv4.tcp_fin_timeout = 60

60だ。なげーな。
15にしてやんよ。

∧_∧  
( ・ω・)=つ≡つ
(っ ≡つ=つ
/   ) ババババ
( / ̄∪

vi /etc/sysctl.conf

# add
net.ipv4.tcp_fin_timeout = 15
sysctl -p


サーバ側はとりあえずこれで、
あとはローカル側だな。
ルーターのコネクション限界ってのもあるらしいので
ルーターの設定もいじるかーー・・・・・


・・・・・ルーターのパスワードがわかんねー。
そういや半年近くログインしてないっけ。
しかし忘れるとは。いやいや。