前端页面错误截图:
进行tomcat实时日志查看:报错: too many open files
原因:当用linux做高并发服务器时,会遇到"Too many open files"的错误。
Linux是有文件句柄限制的(open files),而且Linux默认不是很高,一般都是1024,做高并发生产服务器用其实很容易就达到这个数量。
在linux中执行ulimit -a 即可查询linux相关的参数,如下所示:
ulimit -a
用ulimit命令是可以修改这些配置的
命令的格式:ulimit [-SHacdefilmnpqrstuvx] [limit]
中间的参数对应这要修改的项目。
默认最大打开文件数(open files)最大数为1024,修改:
ulimit -n 102400
最大值为655350
修改后,重启就没有再报错偶尔报错500,已解决。
但是后面过了一段时间,又出现怎个问题。然后发现ulimit -n 102400 ,这个只是临时更改,没有效。
永久更改最大打开文件数(open files)最大数,方法:
1、对Linux系统的配置文件,的limits.conf中加入:
* soft nofile 65535 #修改最大文件
* hard nofile 65535 #修改最大文件,更改的大小其实是上图中的,open files中的,把1024更改为65535
* soft nproc 65535 #修改进程数
* hard nproc 65535 #修改进程数 更改的是上图中的,max user memor中的,把254337更改为65535(根据自己的需求来判断是否要更改进程数)
本文参考解决:too many open files 解决办法文章
连接:https://blog.csdn.net/zhuwinmin/article/details/72730288