JVM堆内存及参数配置 -Xss -Xms -Xmx -Xmn
创始人
2025-05-31 23:11:53
0

目录

一 JVM堆内存划分

二 参数设置


一 JVM堆内存划分

逻辑上:新生代、老年代、永久代

 物理上:新生代、 老年代

JDK1.7之前,有永久代,但已经逐步“去永久代”

JDK1.8之后,无永久代,由元空间替代


java堆从GC的角度,可以细分为:

  • 新生代(Eden区、From Survivor区、To Survivor区)
  • 老年代

1、新生代:用来存放新生的对象。一般占据堆的1/3空间。由于频繁创建对象,所以新生代会频繁触发MinorGC(新生代GC)进行垃圾回收。

(1)Eden区:Java新对象的出生地(如果新创建的对象占用内存很大,则直接分配到老年代)。

当Eden区内存不够的时候就会触发MinorGC,对新生代区进行一次垃圾回收。

(2)From Survivor区:上一次GC的幸存者,作为这一次GC的被扫描者

(3)To Survivor区:保留了一次MinorGC过程中的幸存者

MinorGC(新生代GC)的过程:

首先,把Eden和Servivor From区域中存活的对象复制到Servicor To区域(如果有对象的年龄达到了老年的标准,则赋值到老年代区),同时把这些对象的年龄+1(如果 ServicorTo 不够位置了就放到老年区);

然后,清空 Eden 和 Servicor From 中的对象;

最后,Servicor To 和 Servicor From 互换,原 ServicorTo 成为下一次 GC 时的 Servicor From 区。

2、老年代:主要存放应用程序中生命周期长的内存对象。

老年代的对象比较稳定,所以MajorGC不会频繁执行。

在执行MajorGC前一般都先进行了一次MinorGC,使得有新生代的对象晋升入老年代,导致空间不够时才触发。

当无法找到足够大的连续空间分配给新创建的较大对象时也会提前触发一次MajorGC进行垃圾回收腾出空间。

3、永久代:指内存的永久保存区域,主要存放Class和Meta(元数据)的信息。

Class在被加载的时候被放入永久区域,它和存放实例的区域不同,GC不会在主程序运行期对永久区域进行处理。所以这也导致永久代区域会随着加载Class的增多而膨胀,最终抛出OOM异常。

4、Java8与元数据

在java8中,永久代已经被移除,被“元数据区”(元空间)所取代。

元空间的本质和永久代类似,元空间与永久代之间最大的区别在于:元空间并不在虚拟机中,而是在本地内存。因此,默认情况下,元空间大小仅受本地内存限制。

类的元数据放入native memory(本机内存),字符串池和类的静态变量放入java堆中,这样可以加载多少类的元数据就不再由MaxPermSize(最大非堆内存的大小) 控制, 而由系统的实际可用空间来控制。

二 参数设置

Xmn、Xms、Xmx、Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果。

  • -Xms:初始堆大小,默认为物理内存的1/64
  • -Xmx:堆内存的最大值,默认为物理内存的1/4
  • -Xmn:堆内新生代的大小。通过这个值也可以得到老生代的大小:(-Xmx)-(-Xmn)
  • -Xss:设置每个线程可使用的内存大小,即栈的大小。在相同物理内存下,减小这个值能生成更多的线程,但操作系统对一个进程内的线程数还是有限制的,不能无限生成。

线程栈的大小是个双刃剑,如果设置过小,可能会出现栈溢出,特别是在该线程内有递归、大的循环时出现溢出的可能性更大;如果该值设置过大,就有影响到创建栈的数量,如果是多线程的应用,就会出现内存溢出的错误。

相关内容

热门资讯

皮肤变黄、尿色加深?这些信号别... 生活中,有人发现自己皮肤变黄、尿色加深时,会误以为是“上火”“熬夜多”或“吃了太多胡萝卜”,没当回事...
2026年无锡黄金回收公司权威... 在宏观经济环境与个人资产配置观念持续演变的背景下,黄金作为兼具金融属性与商品属性的硬通货,其回收流通...
晶澳科技率先预告光伏寒意 1月13日,光伏主产业链龙头企业晶澳科技率先披露2025年度业绩预告,净利预计亏损45亿—48亿元,...
广期所调整碳酸锂期货相关合约交... 1月13日,广期所发布公告,经研究决定,对碳酸锂期货相关合约的交易手续费标准及交易限额作如下调整:自...
若股价再异常上涨或申请停牌,涨... 2025年年度涨幅王上纬新材今年继续涨势,公司发布交易风险提示。 1月12日晚间,上纬新材(6885...
金价克重5年涨幅近200%,市... 2026年1月以来,现货黄金价格一路高歌猛进,接连冲破4400美元、4500美元、4550美元三大关...
开年24只QDII基金涨逾10... 2026年开年以来,QDII基金溢价频现。 数据显示,1月以来,已经有工银瑞信、易方达、景顺长城、华...
六六脑认知训练管用吗 六六脑(即脑动极光六六脑认知障碍数字疗法)是一种基于循证医学的人工智能认知数字疗法,对于改善特定人群...
跨界太空光伏,明阳智能拟注入董... 德华芯片业务聚焦于空间太阳电池、柔性太阳电池等产品。 图片来源:视觉中国 又一风电龙头看上了航天生...
这个水果是冬季缓解感冒后咳嗽的... 这个“水果”是冬季养肺和缓解感冒后咳嗽的“好水果”,人人吃得起!它就是常见的--------柚子 中...
直线拉升!刚刚,美联储,降息大... 【导读】美国最新通胀数据,强化了交易员对美联储6月降息的预期 中国基金报记者 泰勒 大家好,简单关注...
安能之后,又一快运巨头拟主动退... 1月13日晚间,停牌3个交易日的德邦股份(603056.SH)发布公告称,公司拟以股东会决议方式主动...
联检科技拟收购中鼎检测55%股... 联检科技(301115)1月13日晚公告,公司拟与许剑华签署《股权转让协议》《股权转让协议之补充协议...
A股公司,拿下1200亿锂电大... 新能源行业迎来重磅订单。 今日(1月13日),容百科技公告称,公司与宁德时代签署了《磷酸铁锂正极材料...
新兴云服务商瞄准企业市场机遇 混合云战略在2025年持续发展,推动了对专业AI云服务或新兴云服务商的兴趣增长,这些服务商能够支持A...
155.89亿!601669,... 【导读】中国电建子公司签署两份重大合同,总金额约为155.89亿元 中国基金报记者 闻言 1月13日...
月薪最高涨近40%、实习生月入... 每经记者|赵雯琪 每经编辑|魏文艺 近期,京东、字节跳动、比亚迪、宁德时代等大厂纷纷涨薪,新经济行...
语言发育迟缓的孩子怎么干预治疗 当孩子开口晚、词汇量少、表达不清,明显落后于同龄人时,许多家长会担心孩子是否存在语言发育迟缓的问题。...
原创 美... 编辑:[加油] 一种比黄金更珍贵、比芯片更脆弱的“气态黄金”,正成为大国博弈的终极筹码。当美国利用天...