https://blog.csdn.net/wanhuiguizong/article/details/79289986

版权声明:本文为博主原创文章,转载请声明文章来源和原文链接。 https://blog.csdn.net/wanhuiguizong/article/details/79289986
问题:
在开发spring cloud过程中一个很严重的资源问题就是内存占用过高,而实际上本机开发测试并没有很大的请求量,所以这是对电脑资源的一种严重的浪费,甚至导致IDE卡死、崩溃。

一个完整包含eureka,steam,sleuth,config,rabbit,oauth2等一些列spring cloud全家桶应用和其他业务相关组件组成的单个服务在12G内存电脑上启动占用的内存就达到1到1.5G。如果同时需要启动很多个服务,内存完全不够用。

解决方法:
修改IDE针对每个项目的jvm参数。

这里以idea为例:

1.  打开Edit Configurations
Idea右上角,如图:

2.参考如下配置:

左边如果是spring cloud 的话肯定是在spring boot下,如果没有,可以点击左上角的+号手动添加,一般启动过的项目这里会有的。

关于jvm参数后面会讲。

这里要注意的是,register项目不需要太多资源(我这里设置128M),Gateway和config服务可以比register多一点(256M)。其它业务性服务才需要更多的资源(512M)。

请根据自己电脑配置情况调整,我的电脑是12G内存。

2.  关于jvm配置
参考1:http://blog.csdn.net/sdujava2011/article/details/50086933有如下描述

1. 设置JVM内存的参数有四个:

-Xmx   Java Heap最大值,默认值为物理内存的1/4,最佳设值应该视物理内存大小及计算机内其他内存开销而定;

-Xms   Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;

-Xmn   Java Heap Young区大小,不熟悉最好保留默认值;

-Xss   每个线程的Stack大小,不熟悉最好保留默认值;

参考2: https://www.cnblogs.com/w-wfy/p/6415856.html有如下描述:

一般用到最多的是

-Xms512m  设置JVM促使内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmx512m ,设置JVM最大可用内存为512M。

-Xmn200m:设置年轻代大小为200M。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。

效果
效果很明显

12G内存启动了14个服务和其他各种软件(idea 3个),内存占用如下图:

---------------------
作者:wanhuiguizong
来源:CSDN
原文:https://blog.csdn.net/wanhuiguizong/article/details/79289986
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/yaowen/p/10160537.html

Spring cloud开发内存占用过高解决方法相关推荐

  1. memory内存占用过高 解决方法

    查看内存用task manager 之前内存占用很高,同时开个matlab和spyder再用word就卡,实在受不了,在网上找了很多解决方法都不行,最后斥巨资买了内存条,结果加上之后电脑是不卡了,但是 ...

  2. 电脑内存占用过高怎么办 电脑内存占用过高解决方法

    电脑内存占用过高怎么办?1,点击开始按钮,在搜索框中,输入服务,在弹出的搜索结中,点击打开服务 2,这里有很系统自动加载的一些服务,有些服务我们是用不到的,但系统会自动加载,占用不少内存,我们可以把一 ...

  3. Firefox内存占用过高解决方法

    一. 解决CPU占用率高,打开网页停顿的问题: 工具--选项--内容--启用Java这一项(去掉前面的勾)--确认,重启即可.(当使用firefox火狐浏览器浏览时,可能会造成某些需使用java项无法 ...

  4. Docker容器内存占用过高解决方法

    #查看占用过高的应用 docker stats  --动态实时显示 docker stats --no-stream  --静态显示  #修改compose file(版本小于v3) mem_limi ...

  5. windows内存占用过高解决方法

    针对问题,不习惯关机,平时都是休眠,40G的内存越用越高,最后直接使用占到98%: 为彻底解决这一问题,经研究后发现,快速启动会占用一部分资源,除此之外,一些进程未完全关闭,后台依然会占用部分资源,通 ...

  6. Idea内存占用过高解决方法

    问题描述 大多数人都知道使用idea时,发现idea内存消耗比较严重,尤其开启了idea后,CPU占比可以直接飙升到100%(这主要体现在刚启动的时候),系统的内存高达80%以上,甚至风扇呼呼作响,于 ...

  7. 电脑内存占用过高 解决方法

    最近内存一直50%以上 甚至能达到80%多 看网上的朋友们好像还有更惨的90%多 百度了好久 参考博客:https://blog.csdn.net/fg2fg3/article/details/814 ...

  8. win10内存占用过高解决办法参考

    win10内存占用过高解决办法参考 1.问题描述: win10刚开机,浏览器和聊天工具等什么都不开,已用内存达75%左右了,开个浏览器能达到90%,电脑是8G内存的. 2. 方法:之前可能很焦躁,没查 ...

  9. Linux中buff/cache内存占用过高解决办法

    Linux中buff/cache内存占用过高解决办法 在Linux系统中,我们经常用free命令来查看系统内存的使用状态.在一个centos7的系统上,free命令的显示内容大概是这样一个状态: 这个 ...

最新文章

  1. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类
  2. 小程序在wxml里转数字_2020年利用名片小程序开启数字化营销的方法
  3. 数据集成之主数据管理(一)基础概念篇
  4. linux ubuntu make 安装
  5. sql中如何统计各种零件的总数量_如何应用GOF设计模式中的构建者模式创建复合对象实例...
  6. 8_18 比赛总结 [暑假集训]
  7. 关于web前端的学习路线
  8. dp线长什么样子_HDMI、VGA、DVI、DP接口知识,史上最全面最通俗易懂对比分析!...
  9. JS-面向对象-对象的特性-禁止对象扩展 / 对象的特性-封印对象 / 对象的特性-冻结对象
  10. JQuery中button提交表单报TypeError: elem[type] is not a function jquery
  11. 力扣53.最大子序和 多种方法
  12. 心理学巨著《影响力》读后总结
  13. 20170830 - A - Java IO操作
  14. Atitit.sql where条件表达式的原理  attilax概括
  15. 一个封锁操作被对 wsacancelblockingcall 的调用中断_备战秋招——操作系统(3)
  16. adc信噪比matlab测试代码,ADC测试matlab代码
  17. request+BeautifulSoup:下载《笔趣看》网小说《第九特区》
  18. 图论最短路 之 弗洛伊德Floyd(详细分析)
  19. 在字节跳动干软件测试5年,2月无情被辞,想给划水的兄弟提个醒
  20. GlassFish的使用方法

热门文章

  1. 中通科技移动自动化测试的革新与探索
  2. jvm垃圾回收之类加载机制
  3. 如何做一个国产数据库(六) 网络传输 nodejs做测试客户端
  4. git 使用分支基础
  5. .net api reference中文_在macOS上使用.NET SDK编译 .NET 通用中间语言
  6. pytorch cpu版本安装_pytorch深度学习框架--gpu和cpu的选择
  7. linux下串口程序测试
  8. oracle:oracle学习笔记(四)循环、光标、异常、瀑布模型
  9. 安卓增删改查用sql语句号码_详解Android中一些SQLite的增删改查操作
  10. 【Kafka】Kafka 实现 Exactly-once (ack机制、高水位)