环境:
tomcat+mysql+nginx
问题:
持续运行的环境前端显示后端请求异常,控制台查发现后台服务tomcat挂掉了,重新启动失败,报错日志如下图:
结合上面报错,使用df-h查询后,显示
内存几乎被占用完了,执行清除缓存的命令后发现也没多少改善,并且tomcat还是启动不了
解决方案
后台启动方式有jar包启动和war包启动,jar包启动一般使用的是 nohup Java -jar命令,而war包启动一般使用的是结合tomcat。一般情况下,使用上述的简单命令或者tomcat配置即可。但是如果像我们这边一台服务器部署很多个应用服务时,就很容易出现内存占满服务挂掉或者无法启动的情况。
因此一般采用限制内存使用的配置来启动并运行服务:
jar包启动:
nohup java -jar -Xmx256m -Xms256m XXXXX.jar
tomcat配置:tomcat/bin/catalina.sh添加
JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:PermSize=512M -XX:MaxPermSize=1024m"
如下图:
总结:
有条件加内存上高配服务器,没条件修修补补凑活用把。