mina2.0 运行一段时间后出现Too many open files错误

itdana 2011-10-18 03:18:15
2011-10-14 10:00:41.299 [Sgip_Handler.java:333] - Failed to create a new instance of org.apache.mina.transport.socket.nio.
org.apache.mina.core.RuntimeIoException: Failed to create a new instance of org.apache.mina.transport.socket.nio.NioProcessor
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:171) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:104) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoConnector.<init>(AbstractPollingIoConnector.java:93) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.transport.socket.nio.NioSocketConnector.<init>(NioSocketConnector.java:55) [mina-core-2.0.0-RC1.jar:na]
at com.techcenter.gateway.protocol.sgip.Sgip_Handler.connect(Sgip_Handler.java:309) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at com.techcenter.gateway.base.AbstractSupport.connect(AbstractSupport.java:36) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at com.techcenter.gateway.sender.chain.SendIncludeSpeedCommand.execute(SendIncludeSpeedCommand.java:178) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) [commons-chain-1.2.jar:1.2]
at com.techcenter.gateway.sender.SubmitSender.run(SubmitSender.java:49) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_14]
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source) [na:na]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [na:1.6.0_14]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [na:1.6.0_14]
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:156) [mina-core-2.0.0-RC1.jar:na]
... 9 common frames omitted
Caused by: org.apache.mina.core.RuntimeIoException: Failed to open a selector.
at org.apache.mina.transport.socket.nio.NioProcessor.<init>(NioProcessor.java:58) [mina-core-2.0.0-RC1.jar:na]
... 13 common frames omitted
Caused by: java.io.IOException: Too many open files
at sun.nio.ch.IOUtil.initPipe(Native Method) [na:1.6.0_14]
at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:49) [na:1.6.0_14]
at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18) [na:1.6.0_14]
at java.nio.channels.Selector.open(Selector.java:209) [na:1.6.0_14]
at org.apache.mina.transport.socket.nio.NioProcessor.<init>(NioProcessor.java:56) [mina-core-2.0.0-RC1.jar:na]
... 13 common frames omitted
2011-10-14 10:01:04.439 [Sgip_Handler.java:333] - Failed to create a new instance of org.apache.mina.transport.socket.nio.NioProcessor
org.apache.mina.core.RuntimeIoException: Failed to create a new instance of org.apache.mina.transport.socket.nio.NioProcessor
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:171) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:104) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.core.polling.AbstractPollingIoConnector.<init>(AbstractPollingIoConnector.java:93) [mina-core-2.0.0-RC1.jar:na]
at org.apache.mina.transport.socket.nio.NioSocketConnector.<init>(NioSocketConnector.java:55) [mina-core-2.0.0-RC1.jar:na]
at com.techcenter.gateway.protocol.sgip.Sgip_Handler.connect(Sgip_Handler.java:309) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at com.techcenter.gateway.base.AbstractSupport.connect(AbstractSupport.java:36) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at com.techcenter.gateway.sender.chain.SendIncludeSpeedCommand.execute(SendIncludeSpeedCommand.java:178) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) [commons-chain-1.2.jar:1.2]
at com.techcenter.gateway.sender.SubmitSender.run(SubmitSender.java:49) [tech_standardsm_smsgatewayapi-1.0.0.2-SNAPSHOT.jar:na]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_14]
Caused by: java.lang.reflect.InvocationTargetException: null
at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source) [na:na]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) [na:1.6.0_14]
at java.lang.reflect.Constructor.newInstance(Constructor.java:513) [na:1.6.0_14]
at org.apache.mina.core.service.SimpleIoProcessorPool.<init>(SimpleIoProcessorPool.java:156) [mina-core-2.0.0-RC1.jar:na]
... 9 common frames omitted
Caused by: org.apache.mina.core.RuntimeIoException: Failed to open a selector.
at org.apache.mina.transport.socket.nio.NioProcessor.<init>(NioProcessor.java:58) [mina-core-2.0.0-RC1.jar:na]
... 13 common frames omitted
Caused by: java.io.IOException: Too many open files
at sun.nio.ch.IOUtil.initPipe(Native Method) [na:1.6.0_14]
at sun.nio.ch.EPollSelectorImpl.<init>(EPollSelectorImpl.java:49) [na:1.6.0_14]
at sun.nio.ch.EPollSelectorProvider.openSelector(EPollSelectorProvider.java:18) [na:1.6.0_14]
at java.nio.channels.Selector.open(Selector.java:209) [na:1.6.0_14]
at org.apache.mina.transport.socket.nio.NioProcessor.<init>(NioProcessor.java:56) [mina-core-2.0.0-RC1.jar:na]
... 13 common frames omitted

上面是错误,好像是socket连接没有关闭,内存一直在增加,但不知道怎么关,在哪里关。
...全文
990 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lnxjx 2012-01-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 qiushi4958 的回复:]

给你个简单明了的解决方案,就是沙发的那种里面的永久解决发法

在/etc/security/limits.conf文件里面添加
* hard nofile 65535
* soft nofile 65535

保存后就OK,重新登录linux用ulimit -n查看是否为655……
[/Quote]

我也是这么设的,可没想到我的连接数竟然超过了65535,所以还是抱too many open files的错误
是不是程序有问题?
qiushi4958 2011-11-17
  • 打赏
  • 举报
回复
给你个简单明了的解决方案,就是沙发的那种里面的永久解决发法

在/etc/security/limits.conf文件里面添加
* hard nofile 65535
* soft nofile 65535

保存后就OK,重新登录linux用ulimit -n查看是否为65535 是65535就成功了
这是增加单个进程能打开的文件数到65535个
KevinXie 2011-11-17
  • 打赏
  • 举报
回复
呵呵,07年初开始就没有再用csdn了,今天查问题,看到你的问题正好是我前端时间刚刚遇到的,就给你回复一下。呵呵。希望对你有用
KevinXie 2011-11-17
  • 打赏
  • 举报
回复
顺便说一下,我用的是mina2的版本,redhat 4.1.2-48版本,tomcat是7.0.21
KevinXie 2011-11-17
  • 打赏
  • 举报
回复
呵呵
不知道是不是redhat linux下运行的tomcat,我也遇到这样的问题,不过解决,“too many files open”错误,不是程序问题,因为是linux下对每个进程打开资源的数量做了限制,windows 没有。

开始很郁闷,在windows下一点问题都没有,但以跑linux不久就会出现“too many files open”错误。

重新设置一下linux的环境就ok了,我的现在已经不再报这个错误了,具体修改和设置请查看我在iteye上的帖子,不知道是否完全修复这个bug,但修改后到现在,基本没有再出现过这个错误:
http://xieyanhua.iteye.com/admin/blogs/1198708
yanglin753 2011-11-10
  • 打赏
  • 举报
回复
mina在绑定ip地址失败的时候,会存在句柄泄露。把ip绑正确就可以了

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧