社区
Java SE
帖子详情
java full gc为何还没触发full gc
young-ming
2015-09-06 04:21:18
使用的gc策略是UseConcMarkSweepGC,老年代空间使用达到86%以上了还未执行full gc,按理应该是默认是68%就会执行full gc吧?
...全文
458
5
打赏
收藏
java full gc为何还没触发full gc
使用的gc策略是UseConcMarkSweepGC,老年代空间使用达到86%以上了还未执行full gc,按理应该是默认是68%就会执行full gc吧?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
玮G
2015-09-18
打赏
举报
回复
68%触发的不是full GC而是老年代的GC,你指定CMS的GC方式会在old区达到68%时发生。这时GC和应用程序会并行执行,也就是说,此时既有内存被释放,又有内存往里增加。合理的情况是释放的速度快于增加的速度。如果增加的速度大于释放的速度,old区会被填满,这时会触发full GC。应用程序停止运行,专心做GC的事。另外测试最好在服务器做,40g以上的内存比较容易看出变化。
young-ming
2015-09-07
打赏
举报
回复
还是在没有指定UseCMSInitiatingOccupancyOnly的情况下,CMSInitiatingOccupancyFraction设的值只是对第一次的full gc有效? “ -XX:+UseCMSInitiatingOccupancyOnly指定HotSpot VM总是使用-XX:CMSInitiatingOccupancyFraction的值作为old的空间使用率限制来启动CMS垃圾回收。如果没有使用-XX:+UseCMSInitiatingOccupancyOnly,那么HotSpot VM只是利用这个值来启动第一次CMS垃圾回收,后面都是使用HotSpot VM自动计算出来”
young-ming
2015-09-07
打赏
举报
回复
我想问的是什么时候会执行full gc,CMSInitiatingOccupancyFraction默认是68%,年老代使用空间68%即执行full gc
zhuangqingch
2015-09-06
打赏
举报
回复
UseConcMarkSweepGC这个只是设置多线程处理年老代GC操作。能够减少GC的停顿时间,这个参数跟内存占用比数无关。有扯上一点关系的是CMS时,出现内存不足等问题时会触发full gc。full gc的触发主要跟各个区的可用空间大小有关,如年老代的剩余空间不足(直接转移发现、统计可用转移发现)、永生代空间不足、CMS GC出现promotion failed和concurrent mode failure等等。关于GC的内容,建议楼主可以网上多了解下相关内容。
普凡
2015-09-06
打赏
举报
回复
怎么监控的。
Java
full
gc
触发
情况实例解析
主要介绍了
Java
full
gc
触发
情况实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
JAVA
面试题垃圾收集机制
1.介绍下垃圾收集机制(在什么时候,对什么,做了什么)? 在什么时候? 在
触发
GC
的时候,具体如下,这里只说常见的Young
GC
和Full
GC
。
触发
Young
GC
:当新生代中的Eden区
没
有足够空间进行分配时会
触发
Young
GC
。
触发
Full
GC
: 当准备要
触发
一次Young
GC
时,如果发现统计数据说之前Young
GC
的平均晋升大小比目前老年代剩余的空间大,则不会
触发
Young
GC
而是转为
触发
Full
GC
。(通常情况) 如果有永久代的话,在永久代需要分配空间但已经
没
有足够空间时,也要
触发
一次Full
GC
。 System.
gc
()默认也是
触发
Full
GC
。 heap dump带
GC
默认也是
触发
Full
GC
。 CMS
GC
时出现Concurrent Mode Failure会导致一次Full
GC
的产生。
Spring+SpringMVC+SpringDataJPA信息管理系统课程
Spring是一个开放源代码的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。Spring是于2003 年兴起的一个轻量级的
Java
开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的
Java
SE/EE full-stack(一站式) 轻量级开源框架Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框架JPA是
Java
Persistence API的简称,中文名
Java
持久层API,是JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中
一次诡异的full
gc
查找问题全过程
主要给大家分享介绍了一次诡异的full
gc
查找问题全部过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧啊
什么时候
触发
Full
GC
如果老年代剩余空间不足以容纳这些对象,就需要进行Full
GC
。需要注意的是,Full
GC
通常比Minor
GC
和CMS
GC
的停顿时间长,同时对于大型应用程序,Full
GC
可能会影响性能,因此应该尽量避免Full
GC
的发生。老年代空间不足:当老年代中
没
有足够的空间来分配一个大对象时,会先尝试进行Minor
GC
,如果仍然无法获得足够的空间,则会
触发
Full
GC
。Perm区空间不足:Perm区是存放类信息和常量池等元数据的区域,如果Perm区
没
有足够的空间来存放这些信息,就会
触发
Full
GC
。
Java SE
62,612
社区成员
307,332
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章