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

问题描述

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

解决方案

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

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

cf8c4d0fa3e0fa3c1eb5ef47fa1c644f.png

a44eb5bdeb744fb05fd4a10e08e463ef.png

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大小,不熟悉最好保留默认值;

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值