017 JVM中垃圾收集时的STW(Stop The World)

学软件技术,读第一手资料,去官方网站: Java SE Specifications   

若想看垃圾收集的简易版本的,参见:Java垃圾收集基础


1、STW概念

GC进行时必须停顿所有Java执行线程,Sun将这件事称为 “Stop-The-World”。即使是在号称(几乎)不会发生停顿的CMS收集器中,枚举根节点也是必须要停顿的。

2、引起STW的原因

2.1 STW多半由于jvm的GC引起,如:
(1)老年代空间不足。
(2)永生代(jkd7)或者元数据空间(jkd8)不足。
(3)System.gc()方法调用。
(4)CMS GC时出现promotion failed和concurrent mode failure
(5)YoungGC时晋升老年代的内存平均值大于老年代剩余空间
(6)有连续的大对象需要分配

2.2 STW除了GC还有以下原因:
(7)Dump线程--人为因素。
(8)死锁检查。
(9)堆Dump--人为因素。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值