最近做公司服务器程序从windows到Linux的移植工作,我的服务器使用的ACE的Epoll模式,支持2000个连接。在Linux下编译服务器程序后,运行,报错了。
查了资料后发现是,在Linux下Epoll模式默认只支持1024个连接,所以我们要修改一下Linux系统可打开的最大描述符限制。最简单的修改方法你可以用ulimit -n 3000 把允许最大开打的描述符修改为3000,但是怎么做,只对当前命令终端打开的应用程序有效。要一劳永逸的,还是得修改/etc/security/limits 配置文件。
在文件中增加
* soft nofile 3000
* hard nofile 20000
保存,重启系统,就生效了。
解释一下上面的命令:
* 表示该配置对所有用户均有效
soft 表示 可以超过后面的配置数
hard 表示 最大不能超过后面的配置数
nofile表示 我们这个配置是对描述符的配置
修改Linux可支持的socket最大连接数
最新推荐文章于 2021-05-15 04:29:34 发布