Linux tcp socket相关参数设置

内容主要从网络上摘抄的,稍作了一下整理

 

来源1:

http://www.cnblogs.com/alli/archive/2011/01/11/1932599.html

 

1.进程打开文件数限制

 ulimit –n   == ulimit –n 1000000

 这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个文件中还得除去每个进程必然打开的标准输入,标准输出,标准错误,服务器监听socket,进程间通讯的unixsocket等文件,那么剩下的可用于客户端socket连接的文件数就只有大概1024-10=1014个左右。也就是说缺省情况下,基于Linux的通讯程序最多允许同时1014TCP并发连接。

 典型现象:当connect,accpet 1000个左右连接后开始失败。

 

 

2、网络内核对TCP连接的有关限制

 

2.1 端口号范围限制

 net.ipv4.ip_local_port_range = 1025 65000

 到同一个主机的连接,超过端口用完后就会失败,这就是我们经常在网上看到的,说客户端最多只能向服务器发起6万多个连接。

 

2.2 iptable netfilter

第二种无法建立TCP连接的原因可能是因为Linux网络内核的IP_TABLE防火墙对最大跟踪的TCP连接数有限制。此时程序会表现为在connect()调用中阻塞,如同死机,如果用tcpdump工具监视网络,也会发现根本没有TCP连接时客户端发SYN包的网络流量。

net.ipv4.ip_conntrack_max = 10240

 

3.进程号

cat /proc/sys/kernel/pid_max

But you can change that too; on a 32-bit machine that'd be 2**22 as an absolute upper limit,

so:% sudo bash -c 'echo 4194303 > /proc/sys/kernel/pid_max'

 

4. tcp 协议栈参数

 待续...

 

 

 

 

转载于:https://www.cnblogs.com/yizhinantian/archive/2011/04/03/2004347.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值