springboot项目启动内存占用过高问题如何解决

文章来源:企鹅号 - 程序猿GG

问题:

在开发springboot过程中一个很严重的资源问题就是内存占用过高,而实际上本机开发测试并没有很大的请求量,所以这是对电脑资源的一种严重的浪费,甚至导致IDE卡死、崩溃。

有时候非常简单的一个项目,只要启动就轻松占用1g内存,今天优化了下,成功把内存降到200m左右,其实主要开始默认配置有点大,这样优化不管是本地还是服务器又可以畅快运行了。

干货:

启动命令示例,这样启动150m左右差不多够了:

nohup java -jar -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=56m -Xms128m -Xmx128m -Xmn32m -Xss256k -XX:SurvivorRatio=8 -XX:+UseConcMarkSweepGC short-url.jar --spring.profiles.active=prod >/dev/null 2>&1&

参数意义:

-XX:MetaspaceSize=128m:元空间默认大小

-XX:MaxMetaspaceSize=128m:元空间最大大小

-Xms1024m:堆最大大小

-Xmx1024m:堆默认大小

-Xmn256m:新生代大小

-Xss256k:栈最大深度大小

-XX:SurvivorRatio=8:新生代分区比例 8:2

-XX:+UseConcMarkSweepGC:指定使用的垃圾收集器,这里使用CMS收集器

-XX:+PrintGCDetails:打印详细的GC日志

如果设置的内存大小太小,可以适当的根据实际情况更改配置。

  • 发表于: 2019-12-28
  • 原文链接:https://kuaibao.qq.com/s/20191228A0LSHS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。