Orphan socket的产生

本文通过分析网络资源不足导致的孤儿socket错误,详细介绍了孤儿socket的产生原因,并提供了一系列减少其产生的系统参数调整建议。重点在于帮助开发者理解和解决在TCP连接建立和断开过程中的常见网络问题。

1. Orphan socket

不属于任何进程的socketorphan socket。这里顺便一下讨论orphan socket,因为很多网络资源不足导致的错误都和“孤儿socket”有关。

1.1 Orphan socket是怎么产生的呢?

网上没有明确的说明,我们做一个线上调查:

Shell代码 

[maoyidao@03701 ~]# netstat -nap | awk '/^tcp/  {++S[$NF]} END {for(a in S) print a, S[a]}' 

2976/sshd 1 

11065/gearman 1 

- 2166 

32726/java 31455 

25554/scribed 4 

[maoyidao@03701 ~]# netstat -nap | awk '/^tcp/ {if($NF == "-") {++S[$6]}}  END {for(a in S) print a, S[a]}' 

TIME_WAIT 451 

FIN_WAIT1 655 

ESTABLISHED 118 

FIN_WAIT2 102 

SYN_RECV 249 

CLOSING 2 

LAST_ACK 619 

可以看到任何一个TCP stat情况下都有可能产生“orphan socket”,但多数是在建立过程当中,以及断开连接中的socket

可以通过以下参数减少orphan socket的产生。

sysctl -a | grep orphan

net.ipv4.tcp_orphan_retries = 0

net.ipv4.tcp_max_orphans = 65536

原文

http://maoyidao.iteye.com/blog/1744309

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值