springcloud项目占用内存好几个G导致服务器崩溃的问题
作者:LinKing06 时间:2023-03-30 09:54:25
问题描述
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大小,不熟悉最好保留默认值;
来源:https://blog.csdn.net/qq_44625080/article/details/109281871
标签:springcloud,内存
0
投稿
猜你喜欢
C#中ref关键字的用法
2022-07-17 21:30:47
Android自定义封装banner组件
2023-08-25 22:19:29
C#二进制读写BinaryReader、BinaryWriter、BinaryFormatter
2022-03-07 23:01:28
使用注解@Validated和BindingResult对入参进行非空校验方式
2022-09-16 11:30:44
Java如何实现登录token令牌
2022-05-19 16:58:11
C#在子线程中更新窗口部件的写法
2022-04-01 09:57:50
c++异常处理机制示例及详细讲解
2022-04-27 11:31:27
Java运行时环境之ClassLoader类加载机制详解
2022-07-18 04:54:05
SpringBoot中定时任务@Scheduled注解的使用解读
2022-11-24 17:20:11
springMVC实现图形验证码(kaptcha)代码实例
2022-02-14 22:02:14
Android build文件的删除的方法
2022-12-28 12:40:17
关于Spring源码是如何解决Bean的循环依赖
2023-09-16 14:15:17
SpringBoot注册FilterRegistrationBean相关情况讲解
2022-04-24 01:22:59
Android实现ListView分页加载数据
2023-11-09 10:05:45
Spring中的注解@Autowired实现过程全解(@Autowired 背后的故事)
2023-01-01 06:02:53
Java日常练习题,每天进步一点点(52)
2023-03-31 11:23:46
详解Java面试官最爱问的volatile关键字
2021-10-10 01:55:33
Java使用Tesseract-Ocr识别数字
2022-12-30 05:15:44
IDEA部署JavaWeb项目到Tomcat服务器的方法
2023-11-02 23:21:22
SpringBoot集成整合JWT与Shiro流程详解
2022-09-06 06:33:23