page contents

GC过多是不是可以这么设置?

Pack 发布于 2020-02-15 16:47
阅读 451
收藏 0

程序启动的时候GC次数过多,检查发现启动的时候项目加载东西很多,造成了很多的内存占用,每次GC就能有效的解决问题。但是GC次数多致使CPU升高。在项目完全启动稳定之后,GC基本很少发生,这种情况,是不是意味着可以将堆初始化大小设置的很大,然后将最大大小设小?

比如:

-XX:NewSize=2500M
-XX:MaxNewSize=800M

疑问:

  • 新生代的初始化值可以大于新生大的最大值吗?
370
Pack
Pack

你把堆内存调大了,GC次数减少了,但是相应每次发生GC的间隔时间变大了,意味着占用你的World时间变长了,应用吞吐量变小了,所以你还是应该根据你的实际情况,以GC次数和GC的阻塞时间去调试设置你的值多大合适。

点上一根烟,看下Jack老师关于JVM优化的课,细细品味下,希望能帮助到你

请先 登录 后评论