tomcat 运行项目 “Too many open files” 问题

最近两天服务器运行总是报“Too many open files”错误,环境为CentOs,Tomcat,JDK7。

输入cat /proc/[PID]/limits 命令之后显示进程的Max open files为4096.。

输入lsof -p [PID] |wc -l 命令显示数量一直超过这个数值。

ulimit -a 命令显示的open files 数值倒是挺大,但是,应该是按照第一个命令为准的,所以一直报错。

ulimit -n 修改也没有效果。所以关键地方还是修改程序的Max open files。

经过查找资料得到以下解决办法:

修改/etc/systemd/system.conf 文件内 DefaultLimitNOFILE值与DefaultLimitNPROC值 为102400。

在 /etc/security/limits.conf 文件尾部 添加

*soft        nofile102400

*hardnofile102400

然后重启服务器就可以了。

cat /proc/[PID]/limits命令查看,已经改为102400。

版权声明:本文为qq934021379原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。