`
wbj0110
  • 浏览: 1604223 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

(转)一次让人难以忘怀的排查频繁Full GC过程

    博客分类:
  • Java
阅读更多

 我们的Java应用因频繁FULL GC导致性能降低很多,经过多人的定位也没有结论,于是我自主请命,经过一天的研究终于搞定了,现把经验与大家共享,相关的gc日志如下:

4.758: [Full GC [PSYoungGen: 464K->0K(71936K)] [PSOldGen: 37949K->33994K(68672K)] 38413K->33994K(140608K) [PSPermGen: 33221K->33221K(66560K)], 0.1887540 secs] [Times: user=0.20 sys=0.00, real=0.19 secs]

32.324: [Full GC [PSYoungGen: 12025K->0K(176320K)] [PSOldGen: 57570K->65642K(128256K)] 69595K->65642K(304576K) [PSPermGen: 35548K->35548K(76544K)], 0.2467320 secs] [Times: user=0.22 sys=0.02, real=0.25 secs]

50.133: [Full GC [PSYoungGen: 20999K->0K(437248K)] [PSOldGen: 118647K->114524K(198528K)] 139647K->114524K(635776K) [PSPermGen: 49637K->49637K(84224K)], 0.3302180 secs] [Times: user=0.32 sys=0.00, real=0.33 secs]

149.586: [Full GC [PSYoungGen: 44223K->0K(411712K)] [PSOldGen: 190278K->185382K(296064K)] 234501K->185382K(707776K) [PSPermGen: 50674K->50208K(85248K)], 0.6151800 secs] [Times: user=0.62 sys=0.00, real=0.61 secs]

260446.223: [Full GC [PSYoungGen: 31393K->0K(436032K)] [PSOldGen: 1006486K->396428K(1021312K)] 1037880K->396428K(1457344K) [PSPermGen: 61093K->61093K(61440K)], 1.3636610 secs] [Times: user=1.36 sys=0.00, real=1.52 secs]

260630.161: [Full GC (System) [PSYoungGen: 40410K->0K(424768K)] [PSOldGen: 991397K->721859K(1021312K)] 1031808K->721859K(1446080K) [PSPermGen: 61100K->61100K(61440K)], 2.1272130 secs] [Times: user=2.14 sys=0.00, real=2.13 secs]

260720.146: [Full GC (System) [PSYoungGen: 4949K->0K(439360K)] [PSOldGen: 1004066K->833610K(1021312K)] 1009015K->833610K(1460672K) [PSPermGen: 61108K->61108K(61440K)], 2.8408660 secs] [Times: user=2.72 sys=0.10, real=2.84 secs]

260810.150: [Full GC (System) [PSYoungGen: 33459K->0K(463552K)] [PSOldGen: 949989K->245655K(1021312K)] 983448K->245655K(1484864K) [PSPermGen: 61117K->61088K(61184K)], 1.1344010 secs] [Times: user=1.12 sys=0.02, real=1.14 secs]

03430.144: [Full GC (System) [PSYoungGen: 7390K->0K(489024K)] [PSOldGen: 871871K->393481K(976704K)] 879262K->393481K(1465728K) [PSPermGen: 64306K->64295K(64640K)], 1.3848850 secs] [Times: user=1.34 sys=0.06, real=1.38 secs]

403794.982: [Full GC [PSYoungGen: 9352K->0K(454144K)] [PSOldGen: 963758K->426051K(991744K)] 973110K->426051K(1445888K) [PSPermGen: 64298K->64298K(64640K)], 1.3783510 secs] [Times: user=1.32 sys=0.06, real=1.38 secs]

404120.149: [Full GC (System) [PSYoungGen: 6846K->0K(467648K)] [PSOldGen: 943642K->440168K(991744K)] 950489K->440168K(1459392K) [PSPermGen: 64300K->64300K(64640K)], 1.1605070 secs] [Times: user=1.12 sys=0.04, real=1.16 secs]

404466.698: [Full GC [PSYoungGen: 9719K->0K(472768K)] [PSOldGen: 980355K->442899K(1021312K)] 990074K->442899K(1494080K) [PSPermGen: 64303K->64303K(64640K)], 1.1729280 secs] [Times: user=1.14 sys=0.04, real=1.18 secs]

 

经过日志分析,我找到两个突破点,重点关注红色字体部分的日志,分析过程如下: 

1
FULL GC前后Java堆大小有变化;经研究发现是由于Java应用JVM参数XMS设置为默认值,在我们的系统环境下,HotspotXms默认值为50M(-Xms默认是物理内存的1/64);每次GC时,JVM会根据各种条件调节Java堆的大小,Java堆的取值范围为[Xms, Xmx]。根据以上分析,修改Xms值与Xmx相等,这样就不会因为所使用的Java堆不够用而进行调节,经过测试后发现FULL GC次数从四位数减少至个位数。


2
)关键词“System”让我想到了System.gc调用,System.gc调用只是建议JVM执行年老代GC,而年老代GC触发FULL GCJVM会根据系统条件决定是否执行FULL GC,正因为系统条件不好判断,所以很难构造System.gc调用触发FULL GC,几经周折终于成功,当System.gc触发FULL  GC时都会有关键词System,而 JVM自动触发的FULL GC却不带关键词System,可以断定是Java应用存在“System.gc”代码。经过本次测试我也发现System.gc的真正含义,通俗言之,“System.gc” 就是FULL GC触发的最后一根稻草。 

从本次分析中,我们可以得出如下的经验:
 
1
Java应用的jvm参数XmsXmx保持一致,避免因所使用的Java堆内存不够导致频繁full gc以及full gc中因动态调节Java堆大小而耗费延长其周期。
 

2
)建议不要调用System.gc或者Runtime.getRuntime().gc,否则本次调用可能会成为压死骆驼的最后一根稻草。当然我们可以通过设置jvm参数禁止这种调用生效,但是除非特别有把握该参数有必要添加,否则不推荐这么设置。

https://my.oschina.net/goldwave/blog/168515

分享到:
评论

相关推荐

    难以忘怀的一幕作文.doc

    文章中提到的"难以忘怀的一幕"不仅描绘了社会的一个角落,也反映出人们面对生活困苦时的反应,无论是对母子的怜悯,还是对自己行为的反思,都体现了作者对人与人之间情感联系的认识。教师的指导也强调了这种情感表达...

    难以忘怀的一件事作文(26篇).docx

    【标题】和【描述】提及的是一个文档集合,标题为"难以忘怀的一件事作文(26篇).docx",描述简单地重复了标题,表明这是一个包含26篇以"难以忘怀的一件事"为主题的作文文档。文档的标签为"技术",但这与文档内容...

    中考语文满分作文那一幕我难以忘怀

    这篇中考满分作文以“那一幕,我难以忘怀”为主题,展现了作者对于生命无常的深刻感悟和对亲人离世的悲痛记忆。文章通过叙述舅舅因病去世的故事,揭示了生活中的突然变故和亲情的珍贵。 文章开头点出人生如剧场,...

    那一次,我害怕了作文.doc

    每个人的成长过程中都有那么一两件令人心跳加速、难以忘怀的事情,这些事件往往成为塑造我们性格和心理的重要里程碑。对于钱步容来说,那个冬天的大年初三,她与哥哥姐姐弟弟妹妹一起在乡间捕捉蛇的经历,无疑是她...

    人教课标五年级语文下册第七组习作七把人物写活PPT教案.pptx

    他的哪些特点让我难以忘怀?我打算通过哪些具体事件来展示这些特点?这样的提纲有助于理清思路,确保在写作过程中不会偏离主题,同时也能帮助结构文章,使其条理清晰,内容饱满。 总的来说,人教课标五年级语文下册...

    什么是难以忘怀的?作文.doc

    什么是难以忘怀的?作文.doc

    难以忘怀的事作文.doc

    2. **细节描写**:作者通过描绘小鸡的眼睛、生病时的状态以及自己照顾它的过程,展现了生动的细节,让读者能感受到故事的真实性。在写作中,细节描写能增强故事的吸引力和说服力。 3. **情节发展**:文章以大年初一...

    【小学生作文】小学生难忘的一个人作文300字【八篇】.doc

    在游乐园,一位年轻女士为作者遮阳,这简单的举动让作者难以忘怀,激发了他对善良和助人为乐的珍视。 这些作文共同传达了人与人之间关系的重要性,无论是老师、朋友还是陌生人,他们的一言一行都有可能在我们心中...

    六年级下册语文作文分解PPT学习教案.pptx

    1. **主题明确**:作文的主题是“难忘的第一次”,要求学生回忆并描述他们生活中的某个首次经历,且这个经历应具有特殊意义,令人难以忘怀。学生需要把握“难忘”和“第一次”这两个关键词,确保作文内容符合主题。 ...

    人教版五年级语文下册22人物描写一组12PPT学习教案.pptx

    在提供的内容中,提到了几个著名的人物形象,如神通广大的孙悟空、顾全大局的蔺相如、知错能改的廉颇和勇武过人的武松,这些都是通过生动的描绘让人难以忘怀的角色。课程旨在引导学生理解如何通过文本中的描写来感知...

    让人怀念的香港旧电影 很怀念旧朋友的说说.docx

    香港电影的辉煌时期,诞生了许多脍炙人口的作品,如动作片、武侠片、喜剧片、爱情片等,它们的剧情紧凑、人物鲜明,演员们的精湛演技让人难以忘怀。无论是周星驰的无厘头喜剧,还是成龙的动作冒险,或是张国荣和...

    难以忘怀初中七年级的作文.docx

    【标题】和【描述】提及的是一个关于初中七年级回忆的作文文档,而【标签】为"技术"可能是指这个文档的制作或处理技术。不过,根据提供的【部分内容】,文章主要讲述的是个人经历和情感体验,而非技术细节。因此,...

    Sword-finger-offer:leetcode的旅行将令人难以忘怀,而且令人难以置信-

    在编程的世界里,LeetCode无疑是一座不可或缺的里程碑,对于任何想要提升自身技能、准备面试或是纯粹热爱编程的人来说,它都是一份宝贵的资源。"Sword-finger-offer"系列正是基于此,为学习者提供了深入理解和掌握...

    2018年八年级语文下册小专题写作写难以忘怀的事习题课件语文版

    2018年八年级语文下册小专题写作写难以忘怀的事习题课件语文版

    酸甜苦辣学自行车作文.doc

    在练习中,作者不慎摔倒,腿部受伤,那种火辣辣的疼痛让人难以忘怀。这也是学习过程中可能的风险,摔倒和受伤是成长的代价。 最后,当作者发现自己已经能够熟练骑行时,感受到的是满满的“甜”。这种成就感和喜悦是...

    暮光之城英文观后感参考.doc

    在观影的过程中,让我印象深刻的一个场景是开场镜头中奔跑的动物,而关于吸血鬼的介绍却并未引起太多注意。随着剧情的展开,女主角的各种奇怪行为让我感到困惑,不禁想探究为什么会发生这些事情。带着好奇,我继续...

    介绍家乡美食说明文.docx

    【标题】:家乡美食的魅力与安全 【描述】:这篇说明文主要...无论是云吞的温柔滋味,还是臭豆腐的“臭”中带香,都是我们生活中不可或缺的美食体验,它们让我们的味蕾在一次次的回味中,感受到家的温暖和生活的美好。

    小学五年级语文期末复习-句型转换专项练习.doc

    - 句子:那场战争的场面惊心动魄,炮火连天,让人难以忘怀。 9. 写关于“真正的友谊和知音”的名人名言: - 名言:“真正的友谊,不是花言巧语,而是关键时刻拉你的那只手。”——未知 10. 骄傲的不同含义造句:...

    难忘的一个人3篇精选.doc

    【标题】与【描述】中的文件名"难忘的一个人3篇精选.doc"表明这是一个文档集合,其中包含了三篇关于作者难以忘怀的人物的文章。【标签】"资料"提示这可能是一份教学或个人资料,用于记录或分享个人经历和情感。 在...

    令人感动电影《忠犬八公的故事》优秀观后感3篇.docx

    《忠犬八公的故事》是一部深受观众喜爱的电影,它以真实事件为基础,讲述了...影片最后,八公在老去之际仍坚守在车站,那份无声的忠诚和执着,让无数观众为之动容,也使这部电影成为了一部经典之作,让人久久难以忘怀。

Global site tag (gtag.js) - Google Analytics