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占用内存过高内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
以上是 springcloud项目占用内存好几个G导致服务器崩溃的问题 的全部内容, 来源链接: utcz.com/z/350609.html