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

 更新时间:2020年10月26日 09:50:56   作者:LinKing06  
这篇文章主要介绍了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二者有哪些区别

    这篇文章主要介绍了SpringBoot @Value与@ConfigurationProperties二者的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2022-10-10
  • Java程序控制逻辑—流程控制

    Java程序控制逻辑—流程控制

    这篇文章主要介绍了Java程序的控制逻辑流程控制,流程控制中最基本的就是条件执行,也就是说,一些操作只能在某些条件满足的情况下才执行,在一些条件下执行某种操作,在另外一些条件下执行另外的操作,需要的朋友可以参考一下
    2022-01-01
  • 详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    详解手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版)

    本篇文章主要介绍了手把手Maven搭建SpringMVC+Spring+MyBatis框架(超级详细版),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Java的最大栈深度与JVM核心知识介绍

    Java的最大栈深度与JVM核心知识介绍

    这篇文章主要有两个部分,一部分介绍JAVA的最大栈深度,第二部分介绍了JVM核心知识,需要的朋友可以参考下面文章的具体内容
    2021-09-09
  • springboot中Excel文件下载踩坑大全

    springboot中Excel文件下载踩坑大全

    本文主要介绍了springboot中Excel文件下载,但是却容易遇到很多坑,文中通过示例代码介绍的非常详细,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Mybatis实战之TypeHandler高级进阶

    Mybatis实战之TypeHandler高级进阶

    本文主要介绍了自定义的枚举TypeHandler的相关知识,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • Spring Boot配置文件的语法规则详解(properties和yml)

    Spring Boot配置文件的语法规则详解(properties和yml)

    这篇文章主要介绍了Spring Boot配置文件的语法规则,主要介绍两种配置文件的语法和格式,properties和yml,对于配置文件也有独立的文件夹存放,主要用来存放一些需要经过变动的数据(变量值),感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • Java中Integer的parseInt和valueOf的区别详解

    Java中Integer的parseInt和valueOf的区别详解

    这篇文章主要介绍了Java中Integer的parseInt和valueOf的区别详解,nteger.parseInt(s)是把字符串解析成int基本类型,Integer.valueOf(s)是把字符串解析成Integer对象类型,其实int就是Integer解包装,Integer就是int的包装,需要的朋友可以参考下
    2023-11-11
  • MyBatis limit分页设置的实现

    MyBatis limit分页设置的实现

    这篇文章主要介绍了MyBatis limit分页设置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Springboot3整合Mybatis-plus3.5.3报错问题解决

    Springboot3整合Mybatis-plus3.5.3报错问题解决

    在日常学习springboot3相关的代码时,在使用 SpringBoot3 整合 MyBatisplus 时出现了一些问题,花了不少时间处理,这篇文章主要介绍了Springboot3整合Mybatis-plus3.5.3报错问题解决,需要的朋友可以参考下
    2023-11-11

最新评论