这 idea 内存占用好迷

讨论 未结 20 133
devinww
devinww 会员 2022年4月26日 03:16 发表
<p>20 款 m1 pro 16+512 idea 升级到最新版本,内存设置了 4096 ,就开了一个项目,内存占用 7.26G ,app 内存 5.89 ,联动内存 1.37 ,被压缩 4.60</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
20个回复
  • whx
    2022年4月26日 05:19
    Java 写的软件也就这样了,再多内存都吃得下。 还有原因就是老版本的 jdk GC 不喜欢释放占用的物理内存,jdk11 以上 Shenandoah GC 可解。 -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact Eclipse 上自用快半年以上了,效果不错。
    0 0
  • devinww
    2022年4月26日 05:19
    没办法,还在用祖传 1.8
    0 0
  • Rache1
    2022年4月26日 05:46
    最新版的内存好像出了问题,我这里可以跑到 14G 😂
    0 0
  • whx
    2022年4月26日 05:46
    最新版的 idea 自带的 jre 是 11 ,是支持 Shenandoah GC 的,这个是修改 idea 的运行环境,和项目的开发环境没关系。 只修改 idea 的 vmoptions 文件就行了。 我在 win10 下测试最新版的 idea 社区版是可以的。
    0 0
  • devinww
    2022年4月26日 05:46
    你说的是 runtime 啊,这个我已经升到最新的 17 了 Runtime version: 17.0.1+12-b164.8 aarch64
    0 0
  • wqhui
    2022年4月26日 06:17
    我开 4 个项目 5.8G ,试试把 idea 没用的插件卸了
    0 0
  • whx
    2022年4月26日 06:17
    17 的 Shenandoah GC 效果更好。
    0 0
  • qwerty01446
    2022年4月26日 06:17
    最新版 IDEA ,runtime 是 17 ,效果很好。又是涨知识的一天,多谢哈哈哈。
    0 0
  • 2696284032
    2022年4月26日 06:17
    我跑微服务,开个 10 个项目,idea 用 4 个 G 内存,直接最低堆内存:-Xms128m -Xmx128m
    0 0
  • qwerty01446
    2022年4月26日 06:17
    不过 compact 也回收的挺激进的? IDEA 的 CPU 使用占用很高,不知道是 BUG 还是什么原因
    0 0
  • qwerty01446
    2022年4月26日 06:17
    抱歉回复的这么多。有点像 JBR17 的问题,我切换到 11 ,同样的设置 CPU 占用就正常了。
    0 0
  • whx
    2022年4月26日 06:17
    没关系,17 的 Shenandoah GC 相比 11 有大升级,停顿时间更短,可能是这个原因导致。
    0 0
  • devinww
    2022年4月26日 06:48
    我把内存设置低了,他会在根目录下产生一个文件
    0 0
  • devinww
    2022年4月26日 06:48
    你在 vm 里加了-XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact 嘛, 我加了之后 idea 直接起不来了。。去了才行
    0 0
  • 2696284032
    2022年4月26日 06:48
    我是 window ,mac 不了解了,不过我 idea 分配的一个 G ,然后项目分配 128M 或者 256 启动的
    0 0
  • DinnyXu
    2022年4月26日 06:48
    我跟你一样型号,我 idea 设置的是 3096 ,我一个项目里面有十几个微服务模块,平时的话会开 4 个服务,查看活动监视器内存占用是 3-5 个 G ,大多数时间是 3 点几。你需要注意的是自己的 app 是不是 arm 支持的,还有 jdk 是否是 arm 的,这样能减少内存的占用
    0 0
  • tsaioil
    2022年4月26日 07:48
    #15 只加那两行的确会导致 IDEA 运行不起来,补充加: -Dfile.encoding=UTF-8 -Dsun.rmi.dgc.server.gcInterval=2147483646 -XX:+UnlockExperimentalVMOptions -XX:+AlwaysPreTouch -XX:+UseShenandoahGC -XX:+UseLargePages -XX:-DontCompileHugeMethods --illegal-access=permit
    0 0
  • oneisall8955
    2022年4月26日 07:48
    如果项目是 java ,如 springboot ,VM options 行添加内存限制,这个很有用。
    0 0
  • whx
    2022年4月26日 07:48
    vmoptions 里面有-XX:+UseG1GC 吗? 有的话去掉-XX:+UseG1GC 再加上 -XX:+UseShenandoahGC -XX:ShenandoahGCHeuristics=compact 试下。
    0 0