springcloud项目占用内存好几个G导致服务器崩溃的问题

网友投稿 626 2022-11-16


springcloud项目占用内存好几个G导致服务器崩溃的问题

问题描述

springcloud项目部署或调试时,占用的内存特别多。当部署到服务器上去后,有可能导致服务器内存占用过多而崩溃。

解决方案

1.本地调试时,IDEA中添加参数以减少本地内存使用

按照下图点击,添加参数 -Xms64m -Xmx128m

2.远程上线时,命令行添加参数 2.1单个服务直接部署

例如使用nohumvQiHWJOp执行时,在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大小,不熟悉最好保留默认值;


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:IDEA创建Maven工程Servlet的详细教程
下一篇:SpringBoot使用Netty实现远程调用的示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~