GC(Allocation Failure)
日前查看某个程序的日志,发现一直在报GC相关的信息,不确定这样的信息是代表正确还是不正确,所以正好借此机会再复习下GC相关的内容:
以其中一行为例来解读下日志信息:
[GC (Allocation Failure) [ParNew: 367523K->1293K(410432K), 0.0023988 secs] 522739K->156516K(1322496K), 0.0025301 secs] [Times: user=0.04 sys=0.00, real=0.01 secs]
GC:
表明进行了一次垃圾回收,前面没有Full修饰,表明这是一次Minor GC ,注意它不表示只GC新生代,并且现有的不管是新生代还是老年代都会STW。
Allocation Failure:
表明本次引起GC的原因是因为在年轻代中没有足够的空间能够存储新的数据了。
ParNew:
表明本次GC发生在年轻代并且使用的是ParNew垃圾收集器。ParNew是一个Serial收集器的多线程版本,会使用多个CPU和线程完成垃圾收集工作(默认使用的线程数和CPU数相同,可以使用-XX:ParallelGCThreads参数限制)。该收集器采用复制算法回收内存,期间会停止其他工作线程,即Stop The World。
367523K->1293K(410432K):单位是KB
三个参数分别为:GC前该内存区域(这里是年轻代)使用容量,GC后该内存区域使用容量,该内存区域总容量。
0.0023988 secs:
该内存区域GC耗时,单位是秒
522739K->156516K(1322496K):
三个参数分别为:堆区垃圾回收前的大小,堆区垃圾回收后的大小,堆区总大小。
0.0025301 secs:
该内存区域GC耗时,单位是秒
[Times: user=0.04 sys=0.00, real=0.01 secs]:
分别表示用户态耗时,内核态耗时和总耗时
分析下可以得出结论:
该次GC新生代减少了367523-1293=366239K
Heap区总共减少了522739-156516=366223K
366239 – 366223 =16K,说明该次共有16K内存从年轻代移到了老年代,可以看出来数量并不多,说明都是生命周期短的对象,只是这种对象有很多。
我们需要的是尽量避免Full GC的发生,让对象尽可能的在年轻代就回收掉,所以这里可以稍微增加一点年轻代的大小,让那17K的数据也保存在年轻代中。
文章来源:https://blog.csdn.net/zc19921215/article/details/83029952
GC(Allocation Failure)相关推荐
- Java中GC (Allocation Failure)日志分析实战
概述 博主在最近使用spring batch的过程当中遇到了内存容量耗尽程序崩溃的问题,于是决定将此次的内存问题分析通过本篇博客记录下来. 在分析gc日实例志之前,我们先通过一条<深入理解jav ...
- 频繁GC (Allocation Failure)及young gc时间过长分析
序 本文主要分析一个频繁GC (Allocation Failure)及young gc时间过长的case. 症状 gc throughput percent逐步下降,从一般的99.96%逐步下降,跌 ...
- CMS 触发GC(Allocation Failure)解析之标梵信息
针对GC中发生的"Allocation Failure",源码描述为:Allocation Failure is a cause of GC cycle to kick in. & ...
- GC (Allocation Failure) 那些事
GC (Allocation Failure) 那些事 平常写Spark程序,经常看到 GC(Allocation Failure) 这个日志,大概查了查意思是是jvm在执行垃圾回收,一般情况下不影响 ...
- Linux page allocation failure 的问题处理 - zone_reclaim_mode
标签 PostgreSQL , Linux , page allocation failure , 内存 背景 Linux内核分配失败,现象: 内存使用一定量后,HANG. dmesg中可能会有类似这 ...
- yolo v3 fatal : Memory allocation failure
torch版的 yolov3报错: fatal : Memory allocation failure parser.add_argument('--n_cpu', type=int, defau ...
- Mongodb 故障分享 初始化时errmsg : exception: new file allocation failure 并且长时间处于STARTUP2...
Hello,大家下午好. 近几天的项目有点赶,所以耽误了更新.现在给大家分享下,在安装mongodb的过程中,遇到的故障一则.其实很小白的问题,当时遇到这个问题的时候比较心慌,浪费了很多时间,跟大家分 ...
- warn_alloc():page allocation failure问题分析
关键词:warn_alloc().__GFP_XXX.order.CMA等等. 在内存申请的时候经常会遇到类似" xxx: page allocation failure: order:10 ...
- centos7: 启动vpp报错:Main heap allocation failure
Main heap allocation failure! 思考许久发现自己的虚拟机内存才2G,有点小.给到了4G再启动就没问题了
最新文章
- python基础day4
- 计算机视觉及机器学习论文、源代码合集
- nodeMCU自动化控制实现空气质量管家
- boost::graph模块实现读写graphml的测试程序
- 【SSH异常】InvalidDataAccessApiUsageException异常
- 如何让Excel里显示的数字避免通过科学计数法来显示
- 有了 Service Mesh,还需要 API 网关吗?
- Gym - 100623J Just Too Lucky (数位dp)
- 合工大离散数学实验 油管实验
- 解决局域网电脑无法ping通
- linux飞行模式问题解决
- Office Web Add-in的技术原理和开发常见问题剖析
- 怎么发送电子邮件到别人邮箱?手把手教你!
- 16个Javascript的Web UI库、框架及工具包
- Typing for mac(打字训练工具)
- c++ IO多路复用
- [OHIF-Viewers]医疗数字阅片-医学影像-Module: Panel-自定义面板-中二-Reduxreact-redux状态管理详解...
- 计算机常用英语单词1500
- Cisco 7600系列Supervisor Engine 720-3BXL
- 毕业多年公英计算机考试,公英预测卷一