首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我能要比老一代大的年轻一代吗?

我能要比老一代大的年轻一代吗?
EN

Stack Overflow用户
提问于 2017-06-09 20:53:54
回答 1查看 2.6K关注 0票数 4

如果我看到新一代和旧世代空间中的大部分活动被利用不足,那么年轻一代比老一代更大是否可以。在旧一代以上增加新一代有什么后果吗?

就像-Xmx2g -Xmn1.5g

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-26 14:11:33

您可以使用-Xmn来完成这个任务(这个答案基于java 8)

来自文档

为年轻一代(托儿所)设置堆的初始和最大大小(以字节为单位)。用字母k或K表示千字节,m或M表示兆字节,g或G表示千兆字节。 堆的年轻生成区域用于新对象。GC在这个区域比在其他区域执行得更频繁。如果年轻一代的大小太小,那么将执行大量的小垃圾收集。如果大小太大,则只执行完整的垃圾回收,这可能需要很长时间才能完成。Oracle建议您将年轻一代的大小保持在堆大小的一半到四分之一之间。 下面的示例演示如何使用不同的单元将年轻一代的初始和最大大小设置为256 MB:

  • -Xmn256m
  • -Xmn262144k
  • -Xmn268435456

可以使用-Xmn选项为年轻一代设置堆的初始大小和最大大小,可以使用-XX:NewSize设置初始大小,使用-XX:MaxNewSize设置最大大小

例如,用

-Xms1024M -Xmx1024M -Xmn800m

空格将如下所示(使用用于visual this的visual gc插件)

您将有一个1024米的总堆大小,800米的年轻一代(伊甸园+2个幸存者空间)和224米的老一代。您可以使用SurvivorRatio调优幸存者空间

来自文档

您可以使用参数SurvivorRatio来调优幸存者空间的大小,但这对性能通常并不重要。例如,-XX:SurvivorRatio=6将伊甸园和幸存者空间的比例设为1:6。换句话说,每个幸存者空间将是伊甸园的六分之一,因此是年轻一代的八分之一(不是七分之一,因为有两个幸存者空间)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44466546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档