Ubuntu 12.04 服务器端TCP最大连接数超过1024,要怎么设置?

软件和网站开发以及相关技术探讨
回复
zsuhoo
帖子: 1
注册时间: 2014-07-09 13:02
系统: Ubuntu 12.04

Ubuntu 12.04 服务器端TCP最大连接数超过1024,要怎么设置?

#1

帖子 zsuhoo » 2014-07-09 13:21

Ubuntu 12.04.2 LTS (GNU/Linux 3.5.0-23-generic i686)

想在一个socket服务端程序中接受>=2048个客户端的socket连接, 但到了1024个后就不行了,这样设置
vi /etc/sysctl.conf
net.ipv4.ip_conntrack_max = 40960

sysctl -p
后, 报error: "net.ipv4.ip_conntrack_max" is an unknown key
请问应该要彼设置才能让TCP连接大于1024个呢?


打开FD的数量已经设置为40960, 用C写一个程序可以打开2048个文件:
/etc/security/limits.conf
root soft nofile 40960
root hard nofile 40960

vi /etc/pam.d/common-session
session required pam_limits.so

vi /etc/profile
ulimit -SHn 40960



# cat /proc/net/sockstat
sockets: used 1082
TCP: inuse 1024 orphan 0 tw 4096 alloc 1025 mem 71
UDP: inuse 1 mem 1
UDPLITE: inuse 0
RAW: inuse 0
FRAG: inuse 0 memory 0
头像
astolia
论坛版主
帖子: 6450
注册时间: 2008-09-18 13:11

Re: Ubuntu 12.04 服务器端TCP最大连接数超过1024,要怎么设置?

#2

帖子 astolia » 2014-07-09 17:11

ip_conntrack_max这东西早就移动到了 /proc/sys/net/netfilter/nf_conntrack_max,要用 net.netfilter.nf_conntrack_max才行。
另外它是内核中netfilter conntrack模块的参数,如果你没启用iptables规则的话,这个参数也没啥影响

还有其他一些参数也会影响到最大连接数,参考 http://stackoverflow.com/questions/4106 ... s-in-linux 进行设置
回复