主题 : java.io.IOException: Too many open files
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
1#   发表于:2020-03-04 13:04:32  IP:113.212.*.*
04-Mar-2020 08:33:48.988 SEVERE [https-jsse-nio-443-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed
 java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:482)
at java.lang.Thread.run(Thread.java:748)

04-Mar-2020 08:33:49.038 SEVERE [https-jsse-nio-443-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed
 java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:482)
at java.lang.Thread.run(Thread.java:748)

04-Mar-2020 08:33:49.038 SEVERE [https-jsse-nio-443-Acceptor-0] org.apache.tomcat.util.net.NioEndpoint$Acceptor.run Socket accept failed
 java.io.IOException: Too many open files
at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:422)
at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:250)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:482)
at java.lang.Thread.run(Thread.java:748)
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
2#   发表于:2020-03-04 13:05:18  IP:113.212.*.*
请相关技术人员看看,引起该问题的原因?
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
3#   发表于:2020-03-04 13:31:31  IP:117.58.*.*
您这个是什么操作的时候出现的问题
每天告诉自己一次,“我真的很不错”。
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
4#   发表于:2020-03-04 18:24:56  IP:113.212.*.*
回复第3楼

部署在linux 服务器上,过上一两天就报这个错,报错后,tomcat容器就启动不起来了
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
5#   发表于:2020-03-04 18:28:08  IP:113.212.*.*
回复第4楼  tomcat就宕了,再之后一启动tomcat容器,就宕机。。。
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
6#   发表于:2020-03-05 09:03:04  IP:117.58.*.*
您使用的是x1版本吗?
每天告诉自己一次,“我真的很不错”。
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
7#   发表于:2020-03-20 09:52:27  IP:113.212.*.*
回复第6楼 V9版本
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
8#   发表于:2020-03-20 09:56:49  IP:117.115.*.*
这个报错是因为程序打开的文件数过多导致的
每天告诉自己一次,“我真的很不错”。
级别: 论坛管理员
UID: 122721
积分:57884 加为好友
威望: 2 精华: 1
主题:5 回复:50085
注册时间:2018-05-07
在线时长:0
9#   发表于:2020-03-20 09:57:15  IP:117.115.*.*
每天告诉自己一次,“我真的很不错”。
级别: 贡士
UID: 128886
积分:436 加为好友
威望: 6 精华: 0
主题:46 回复:268
注册时间:2019-04-02
在线时长:0
10#   发表于:2020-03-20 10:09:27  IP:113.212.*.*
回复第9楼
这个确实是有好多io流没有关闭,必须得优化代码。我做了以下工作:
1.使用ps -ef |grep tomcat 查看你的进程ID,记录ID号,假设进程ID为13714
2.使用:lsof -p 13714| wc -l 查看当前进程id为13714的 文件操作状况
  执行该命令出现文件使用情况为 378
3.使用命令:ulimit -a 查看每个用户允许打开的最大文件数
  发现系统默认的是open files (-n) 1024,问题就出现在这里。
4.然后执行:ulimit -n 20480
将open files (-n) 1024 设置成open files (-n) 20480
5.执行压力测试的时候,当sof -p 13714| wc -l 数量大于4300+,就报too many open files
6.改系统句柄数不起作用

可以看出jeecms项目肯定没有做压力测试
1 2 > >| 共2页