springcloud项目占用内存好几个G导致服务器崩溃的问题
作者:LinKing06
这篇文章主要介绍了springcloud项目占用内存好几个G导致服务器崩溃的问题,本文给大家分享解决方案供大家参考,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
问题描述
springcloud项目部署或调试时,占用的内存特别多。当部署到服务器上去后,有可能导致服务器内存占用过多而崩溃。
解决方案
1.本地调试时,IDEA中添加参数以减少本地内存使用
按照下图点击,添加参数 -Xms64m -Xmx128m
2.远程上线时,命令行添加参数 2.1单个服务直接部署
例如使用nohup执行时,在java与-jar之间添加参数-Xms64m -Xmx128m
nohup java -Xms64m -Xmx128m -jar x.xx-xx.jar &
2.2对每个服务使用dockerFile编排
FROM java:8 COPY *.jar /security.jar CMD ["--server.port=8080"] EXPOSE 8080 ENTRYPOINT ["java","-Xms64m","-Xmx256m","-jar","security.jar"]
这是一个完整的dockerfile文件,最后一行中添加的两个参数用于控制内存大小
参数详解
设置JVM内存的参数有四个:
-Xmx: Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;
-Xms: Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;
-Xmn: Java Heap Young区大小,不熟悉最好保留默认值;
-Xss: 每个线程的Stack大小,不熟悉最好保留默认值;
到此这篇关于springcloud项目占用内存好几个G导致服务器崩溃的问题的文章就介绍到这了,更多相关springcloud占用内存过高内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!