一、调优原因
服务器上,当把系统用户的开启文件数目修改为60556后,服务器Tomcat服务对个别的接口请求,只是做出部分响应,即一个流程,10个代码逻辑,只执行到第5个左右,第5个逻辑日志都进不去。关键,业务逻辑也不报错,就是无法执行这个逻辑代码,而且代码也没有变动过。感觉很是坑爹。
二、问题原因
因为确认不是逻辑代码导致的,因为在修改开启文件参数之前整体运行时完美的,那么首先就把这个开启文件的个数修改回去默认1024.
ulimit -n 1024
然后,一切就恢复平静了。但是原因,还有待查证。猜测原因可能是由于,服务器其他进程也打开这么多文件的话,会导致服务器整体打开文件数目超出服务器内核限制数目,从而导致莫名错误,所以,这个数值最好不要设置太大,合理即可!
后续为了解决这个,部分只执行一半的问题,就想到是可能tomcat容器的问题,把部分请求给莫名丢弃,就查找相对应的参数调优。
三、参考
1.linux 打开文件数 too many open files 解决方法
2.linux 打开文件数 too many open files 解决方法