JBoss下"Too many open files"的解决方法

linux环境下当连接数过多时JBoss通常会出现如下的错误提示:

WARN  [org.apache.tomcat.util.net.PoolTcpEndpoint] Reinitializing ServerSocket
 ERROR [org.apache.tomcat.util.net.PoolTcpEndpoint] Endpoint ServerSocket[addr=/0.0.0.0,port=0,localport=8080] ignored exception: java.net.SocketException: Too many open files
java.net.SocketException: Too many open files
 at java.net.PlainSocketImpl.socketAccept(Native Method)
 at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
 at java.net.ServerSocket.implAccept(ServerSocket.java:450)
 at java.net.ServerSocket.accept(ServerSocket.java:421)
 at org.apache.tomcat.util.net.DefaultServerSocketFactory.acceptSocket(DefaultServerSocketFactory.java:60)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.acceptSocket(PoolTcpEndpoint.java:407)
 at org.apache.tomcat.util.net.PoolTcpEndpoint.run(PoolTcpEndpoint.java:647)
 at java.lang.Thread.run(Thread.java:595)

原因:

linux中,每个socket连接都使用文件描述符进行标识,文件描述符属于系统资源,存在使用上的限制;缺省情况下JBoss能使用的最大描述符数是系统默认的最大文件描述符数(通过命令ulimit -H -n来获得),当连接数达到一定规模,使用的socket连接超过最大描述符的数量时就会出现此错误。

解决方法:

1、编辑$JBOSS_HOME/bin目录下的run.conf;

2、定位到:

#MAX_FD="maximum"

去掉注释,将其修改为所需的数值,例如:将文件描述符的最大值设置为10000;

MAX_FD=10000

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值