linux下遇到服务器的网络连接限制数为1024个的原因及修正
来源:互联网 发布:mac 系统 修改用户名 编辑:程序博客网 时间:2024/06/05 15:26
利用Boost::asio写了一个TCP服务器,测试并发数量,发现超过1024个连接就会失败。
一开始怀疑asio库的原因(查看了asio的win_fd文件,发现其超过1024个文件描述符之后,会再动态增加512个文件描述符),后来发现是由于linux的资源限制,linux的默认资源限制为进程只能打开1024个文件描述符,由于socket连接也是文件描述符表示的,所以超过1024个连接就无法再建立socket连接了。
但是实际上由于linux系统资源的限制,会导致达到最大连接数,从而不能再创建新的连接了。
linux的资源可以通过如下方法查看ulimit -a查看所有的资源限制
通过ulimit -n我们发现
输出为1024,说明当前系统限制为1024个文件描述符。
临时改变文件ulimit -n 10240设置为10240个文件描述符,发现连接数可以达到10240。
永久改变的方法:
1、修改/etc/security/limit.conf
添加如下内容:
* soft noproc 123414 #*表示针对所有用户,noproc是针对进程数量的限制,soft表示软限制,软限制永远小鱼硬限制。
* hard noproc 1231412 # hard表示硬限制
* soft nofile 12347 #nofile 表示针对打开文件数量进行设置
* hard nofile 12314124 #hard为硬限制
2、修改/etc/pam.d/login
添加如下一句话:session required /lib/security/pam_limits.so
3、确保/etc/pam.d/system_auth文件中,有如下内容,session required /lib/security/$ISA/pam_limits.so
这样每次登录终端,限制就会改变了。
- linux下遇到服务器的网络连接限制数为1024个的原因及修正
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- linux下tcp服务器并发连接数限制
- 提升linux下tcp服务器并发连接数限制
- Muduo 网络编程示例之六:限制服务器的最大并发连接数
- Linux中tcp连接数的限制
- 解决XP系统下共享连接数上限为十的限制
- Linux下搭建SVN服务器遇到的问题及解决方法
- Linux下搭建SVN服务器遇到的问题及解决方法
- Linux下搭建SVN服务器遇到的问题及解决方法
- windows主机的IIS连接数限制,Linux的Apache连接限制,PHP的CPU限制!
- windows主机的IIS连接数限制,Linux的Apache连接限制,PHP的CPU限制!
- Image style transfer
- RecyclerView实现广告轮播图(一)
- 双向循环链表的冒泡排序
- 求出1~13的整数中1出现的次数,并算出100~1300的整数中1出现的次数?并把问题更加普遍化,可以很快的求出任意非负整数区间中1出现的次数。
- 冒泡排序
- linux下遇到服务器的网络连接限制数为1024个的原因及修正
- 安卓 java方法将一张图片切成圆形
- wampserver2.4.9多站点配置笔记
- Git 学习(二)
- codeforces 535C(二分)
- 对事务的理解
- Oracle之数据库和用户创建-yellowcong
- RabbitMQ入门教程(九):首部交换机Headers
- 结合redis设计与实现的redis源码学习-13-AOF持久化(aof.c/bio.h)