Linux下最大连接数的讲解

1、查看最大连接数

[root@sd-lt-53 ~]# ulimit -n
1024

这里的1024是指当前用户的进程最多允许同时打开1024个文件,其实真正的数量是小于这个的,因为还得去掉每个进程的标准输入,标准输出,标准错误,服务器监听socket,进程间通讯的unix域socket等文件,这样剩下的可用文件数大概会在1014左右。也就是说当前用户的最大打开文件数为1014个,即最大支持1014个并发连接。

2、修改最大连接数

如果我们想支持更大的tcp并发连接,就必须更改对当前用户的进程同时打开的文件数量的软限制(soft limit)和硬限制(hard limit)。

什么是软限制和硬限制呢?

软限制:指Linux在当前系统能够承受的范围内进一步限制用户同时打开的文件数

硬限制:指根据系统硬件资源状况(系统内存)计算出来的系统最多可同时打开的文件数量

所以一般软限制是小于硬限制的

1)通过ulimit修改

[root@devilf ~]# ulimit -n 65535
[root@devilf ~]# ulimit -n
65535

 

注意:如果修改失败,则需要查看下配置文件

2)修改/etc/security/limits.conf

# End of file
root soft nofile 20480
root hard nofile 20480

 

这里的root代表的是要修改root用户的打开文件数限制,如果想为其他用户设置,则可以写其他用户的名字,想为所有用户设置的话,可以写 " * "

3)修改/etc/pam.d/login文件,在文件中添加如下行

session    required    /lib/security/pam_limits.so

 

注:这里是让用户登陆后,告诉系统应该调用pam_limits.so模块来完成设置系统对该用户可使用的各种资源数量的限制

另外需要注意的一个地方是:我们这里需要查看下Linux系统级的最大打开文件数限制:

[root@SDLT-52 ~]# cat /proc/sys/fs/file-max 
3253341

  

如果这里的数和你要设置的最大打开数不符,那么我们可以修改rc.local文件,让每次Linux启动后自动修改

echo "20480" > /proc/sys/fs/file-max

  

posted @ 2017-12-08 12:10  Devilf  阅读(17827)  评论(0编辑  收藏  举报