主题 : java.io.IOException: Too many open files |
级别: 贡士
![]() |
1# 发表于:2020-03-04 13:04:32 IP:113.212.*.*
|
||||
---|---|---|---|---|---|
级别: 贡士
![]() |
4# 发表于:2020-03-04 18:24:56 IP:113.212.*.*
回复第3楼
部署在linux 服务器上,过上一两天就报这个错,报错后,tomcat容器就启动不起来了 |
||
---|---|---|---|
级别: 贡士
![]() |
5# 发表于:2020-03-04 18:28:08 IP:113.212.*.*
回复第4楼 tomcat就宕了,再之后一启动tomcat容器,就宕机。。。
|
||
---|---|---|---|
级别: 论坛管理员
![]() |
9# 发表于:2020-03-20 09:57:15 IP:117.115.*.*
|
||
---|---|---|---|
级别: 贡士
![]() |
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项目肯定没有做压力测试 |
||
---|---|---|---|