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占用内存过高内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
SpringBoot @Value与@ConfigurationProperties二者有哪些区别
这篇文章主要介绍了SpringBoot @Value与@ConfigurationProperties二者的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧2022-10-10详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)
本篇文章主要介绍了手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版),具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-12-12Spring Boot配置文件的语法规则详解(properties和yml)
这篇文章主要介绍了Spring Boot配置文件的语法规则,主要介绍两种配置文件的语法和格式,properties和yml,对于配置文件也有独立的文件夹存放,主要用来存放一些需要经过变动的数据(变量值),感兴趣的朋友跟随小编一起看看吧2024-07-07Java中Integer的parseInt和valueOf的区别详解
这篇文章主要介绍了Java中Integer的parseInt和valueOf的区别详解,nteger.parseInt(s)是把字符串解析成int基本类型,Integer.valueOf(s)是把字符串解析成Integer对象类型,其实int就是Integer解包装,Integer就是int的包装,需要的朋友可以参考下2023-11-11Springboot3整合Mybatis-plus3.5.3报错问题解决
在日常学习springboot3相关的代码时,在使用 SpringBoot3 整合 MyBatisplus 时出现了一些问题,花了不少时间处理,这篇文章主要介绍了Springboot3整合Mybatis-plus3.5.3报错问题解决,需要的朋友可以参考下2023-11-11
最新评论