linux系统句柄限制调整,当使用netty/socket触发达到系统最大连接数时查看

socket保持连接原理:客户端使用tcp端口连接至服务端,服务端会打开一个句柄文件和客户端保持连接,注意并不是一个连接就会占用一个服务器端口,所以socket连接数跟系统最大端口数无关,不然系统防火墙不就没啥用,默认系统每个进程打开的句柄是有限制的,另外整个系统还有一个句柄限制总数,所以socket通讯能支持多大连接数,跟系统句柄文件打开数量限制有关

 

 

1、查看局部文件句柄限制

ulimit -n

2、修改限制

vi /etc/security/limits.conf


#soft表示警告的限制,hard表示真正限制,nofile表示打开的最大文件数
#默认为
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535



#调整后为  *代表任何用户
root soft nofile 1000000
root hard nofile 1000000
* soft nofile 1000000
* hard nofile 1000000

3、重启后生效

shutdown -r now

 

4、如果还是有限制,查看全局句柄限制,file-max 表示在linux 中最终所有x线程能够打开的最大文件数

cat /proc/sys/fs/file-max

 

5、修改最大值

sudo vi /etc/sysctl.conf

#在文件的末尾添加 
fs.file-max=1000000

6、执行命令让配置生效,执行后在查看  cat /proc/sys/fs/file-max

sudo sysctl -p

 

posted @ 2023-08-17 11:15  Binz  阅读(477)  评论(0编辑  收藏  举报