0 0

系统频繁Full GC5

tomcat启动参数
JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx2048M -XX:PermSize=256M -XX:MaxPermSize=512m -XX:NewRatio=2 -XX:SurvivorRatio=4 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=4 -XX:+PrintTenuringDistribution -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc"

这是系统运行期间的状况:

11:50
[root@i bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
54.88   0.00  25.32  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  25.91  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  28.64  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  30.66  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  34.64  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  35.45  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  39.72  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  54.05  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  56.24  92.17  25.69    164    7.748     6    7.761   15.509
54.88   0.00  59.56  92.17  25.69    164    7.748     6    7.761   15.509


13:43
[root@inne bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0.00  80.97  19.38  84.34  26.60    531   23.331    27   46.521   69.852
  0.00  80.97  49.03  84.34  26.60    531   23.331    27   46.521   69.852
  0.00  80.97  86.81  84.34  26.60    531   23.331    27   46.521   69.852
  0.00  80.97  93.61  84.34  26.60    531   23.331    27   46.521   69.852
41.76   0.00   0.00  90.92  26.60    532   23.392    28   46.521   69.913
41.76   0.00   0.00  90.92  26.60    532   23.392    28   46.521   69.913
  0.00   0.00   4.18  47.91  26.60    532   23.392    28   49.006   72.398
  0.00   0.00  50.76  47.91  26.60    532   23.392    28   49.006   72.398
  0.00   0.00  62.36  47.91  26.60    532   23.392    28   49.006   72.398
  0.00   0.00  83.32  47.91  26.60    532   23.392    28   49.006   72.398

14:10
[root@i bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0.00  41.65  91.54  80.68  26.62    789   34.325    48   99.145  133.469
84.63   0.00   6.79  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  11.07  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  22.49  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  32.80  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  44.76  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  56.54  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  60.85  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  82.70  80.68  26.62    790   34.356    48   99.145  133.501
84.63   0.00  88.33  80.68  26.62    790   34.356    48   99.145  133.501

15:50
[root@i bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0.00  41.23  65.36  80.46  26.68   2131   95.954   240  709.705  805.659
  0.00  41.23  89.96  80.46  26.68   2131   95.954   240  709.705  805.659
44.20   0.00  12.90  83.80  26.68   2132   95.994   240  709.705  805.700
44.20   0.00  38.60  83.80  26.68   2132   95.994   240  709.705  805.700
44.20   0.00  62.87  83.80  26.68   2132   95.994   240  709.705  805.700
44.20   0.00  74.37  83.80  26.68   2132   95.994   240  709.705  805.700
44.20   0.00  93.35  83.80  26.68   2132   95.994   240  709.705  805.700
44.20   0.00  99.54  83.80  26.68   2132   95.994   240  709.705  805.700
  0.00  39.11  16.44  87.43  26.68   2133   96.037   240  709.705  805.742
  0.00  39.11  21.66  87.43  26.68   2133   96.037   240  709.705  805.742


16:50
[root@i bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0.00   0.00  67.39  87.11  26.71   2931  133.741   443 1469.811 1603.552
  0.00   0.00  95.94  87.11  26.71   2931  133.741   443 1469.811 1603.552
44.38   0.00  56.50  87.11  26.71   2932  133.763   443 1469.811 1603.574
44.38   0.00  87.88  87.11  26.71   2932  133.763   443 1469.811 1603.574
  0.00  46.87  12.65  90.74  26.71   2933  133.805   443 1469.811 1603.616
  0.00  46.87  46.52  90.74  26.71   2933  133.805   443 1469.811 1603.616
  0.00  46.87  69.29  90.74  26.71   2933  133.805   443 1469.811 1603.616
  0.00  46.87  78.46  90.74  26.71   2933  133.805   443 1469.811 1603.616
41.85   0.00   0.00  94.55  26.71   2934  133.848   444 1469.811 1603.659
41.85   0.00   0.00  94.55  26.71   2934  133.848   444 1469.811 1603.659

19:30
[root@i5 bin]# jstat -gcutil 19828 1000 10
  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT 
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1810 6795.881 6949.065
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1810 6795.881 6949.065
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1811 6799.966 6953.150
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1811 6799.966 6953.150
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1811 6799.966 6953.150
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1811 6799.966 6953.150
  0.00   0.00  35.06 100.00  26.73   3393  153.184  1811 6804.075 6957.259
  0.00   0.00  90.24 100.00  26.73   3393  153.184  1811 6804.075 6957.259
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1812 6804.075 6957.259
  0.00   0.00 100.00 100.00  26.73   3393  153.184  1812 6804.075 6957.259


2013-04-07T19:30:49.767+0800: [Full GC [PSYoungGen: 466048K->0K(582528K)] [PSOldGen: 1398143K->1350782K(1398144K)] 1864191K->1350782K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 3.9798680 secs] [Times: user=3.98 sys=0.00, real=3.98 secs]
2013-04-07T19:30:54.929+0800: [Full GC [PSYoungGen: 466048K->4015K(582528K)] [PSOldGen: 1350782K->1398143K(1398144K)] 1816830K->1402159K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 3.4515900 secs] [Times: user=3.45 sys=0.00, real=3.46 secs]
2013-04-07T19:30:59.182+0800: [Full GC [PSYoungGen: 466048K->47831K(582528K)] [PSOldGen: 1398143K->1398143K(1398144K)] 1864191K->1445975K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.0846450 secs] [Times: user=4.08 sys=0.00, real=4.08 secs]
2013-04-07T19:31:03.937+0800: [Full GC [PSYoungGen: 466048K->63548K(582528K)] [PSOldGen: 1398143K->1398143K(1398144K)] 1864191K->1461692K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.1092990 secs] [Times: user=4.11 sys=0.00, real=4.11 secs]
2013-04-07T19:31:09.580+0800: [Full GC [PSYoungGen: 466048K->0K(582528K)] [PSOldGen: 1398143K->1372394K(1398144K)] 1864191K->1372394K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.5120020 secs] [Times: user=4.51 sys=0.00, real=4.52 secs]
2013-04-07T19:31:15.372+0800: [Full GC [PSYoungGen: 466048K->24777K(582528K)] [PSOldGen: 1372394K->1398144K(1398144K)] 1838442K->1422921K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 3.5419050 secs] [Times: user=3.54 sys=0.00, real=3.54 secs]
2013-04-07T19:31:19.949+0800: [Full GC [PSYoungGen: 466048K->70668K(582528K)] [PSOldGen: 1398144K->1398144K(1398144K)] 1864192K->1468812K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.1386670 secs] [Times: user=4.14 sys=0.00, real=4.14 secs]
2013-04-07T19:31:25.469+0800: [Full GC [PSYoungGen: 466048K->66226K(582528K)] [PSOldGen: 1398144K->1398143K(1398144K)] 1864192K->1464370K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.1236220 secs] [Times: user=4.12 sys=0.00, real=4.12 secs]
2013-04-07T19:31:30.717+0800: [Full GC [PSYoungGen: 466048K->10558K(582528K)] [PSOldGen: 1398143K->1398143K(1398144K)] 1864191K->1408702K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 4.5266600 secs] [Times: user=4.52 sys=0.00, real=4.52 secs]
2013-04-07T19:31:36.785+0800: [Full GC [PSYoungGen: 466048K->85887K(582528K)] [PSOldGen: 1398143K->1398143K(1398144K)] 1864191K->1484031K(1980672K) [PSPermGen: 70069K->70069K(262144K)], 3.5358120 secs] [Times: user=3.52 sys=0.00, real=3.54 secs]


到这个时间之后已经能看到明显不对了,系统此时频繁的Full GC(大概5~6秒),Perm区一直都比较稳定,Elen和Old一直100%,Survivor区一直都是0了,看到网上有说是因为程序错误的,有没有人遇到过这种问题,以及是什么样的程序错误或导致这样呢?
JVM 
2013年4月07日 21:05

3个答案 按时间排序 按投票排序

0 0

PermGen空间占满了,PermGen才70m,配置成:-XX:MaxPermSize=512m -XX:PermSize=128M

2015年10月09日 14:32
0 0

感觉是老年代空间已满,已经1398143K->1398143K(1398144K),dump下看下为什么会有那么多对象在内存中?

2013年11月18日 16:03
0 0

dump下来看看那里面都是什么东西

一般是你代码的问题,导致内存释放不了

2013年4月08日 09:16

相关推荐

    AviatorEvaluator执行脚本导致Metaspace不足引发频繁 Full GC

    AviatorEvaluator执行脚本导致Metaspace不足引发频繁 Full GC故障机经过 故障机经过 数据分析&特征平台DMP 最近频繁发生Full GC, 引发集群卡顿,导致经常超时,按照常规的方法,肯定是先看GC 日志 2020-02-17T10:17:...

    GCViewer-FullGC分析工具

    然而,当GC运行频繁或出现长时间的Full GC时,可能会导致应用程序性能下降,甚至出现暂停现象。这时,我们需要对GC日志进行深入分析,以优化程序性能。GCViewer就是这样一款强大的工具,它专门用于可视化分析Java...

    FullGC的样例报告

    首先,我们关注"元空间不足导致频繁FullGC.pdf"这个文件。元空间是Java 8引入的新特性,取代了之前的永久代(Permanent Generation)。元空间主要存储类的元数据,如类信息、方法信息、字段信息等。当元空间满时,...

    jvm-full-gc调优-jvm-full-gc.zip

    在Java开发中,JVM(Java虚拟机)的性能优化是一项关键任务,特别是对于大型系统而言,频繁的Full GC(垃圾收集)会导致应用暂停时间过长,影响用户体验。本资料"jvm-full-gc调优-jvm-full-gc.zip"显然是针对如何...

    一次诡异的full gc查找问题全过程

    因此,出现 Full GC 问题时,需要快速定位问题原因以避免对系统性能的影响。 在本篇文章中,我们将分享一个 Full GC 问题排查过程,通过示例代码和实际操作,介绍了如何快速定位 Full GC 问题的原因和解决方案。 ...

    jvm-full-gc.zip

    Full GC频繁执行会导致系统暂停时间变长,甚至可能导致应用卡顿。因此,我们需要通过以下策略进行调优: 1. 适当增大堆内存:增加堆大小可以减少Full GC的发生频率。 2. 调整新生代与老年代的比例:通过-Xmn、-XX:...

    java jstat 查看哪个进程频繁GC垃圾回收

    如果`Full GC`过于频繁,可能是老年代空间不足,或者存活对象过多导致。可以通过调整`-Xms`和`-Xmx`(初始堆大小和最大堆大小),或者使用合适的垃圾收集器(如G1或ZGC)来改善。 `Young GC`主要处理年轻代中的对象...

    Java八股简历模板——3年.docx

    - **性能优化**:解决了系统频繁Full GC、数据库死锁等问题,提升了服务稳定性。 - **商用环境构建**:完成了服务的商用环境构建、部署、上线全流程,提高了开发效率和服务质量。 #### 企业级开发框架 - **代码...

    JVM必知必会

    通过具体案例,如系统频繁FullGC、String.intern的使用等,可以更加深入理解JVM的运行机制和性能调优方法。 #### 结语 以上是对《JVM必知必会》中涉及的核心知识点的详细梳理。这些内容可以作为学习Java虚拟机的...

    gcviewer监控gc工具

    1. **性能调优**:当应用出现性能下降或频繁Full GC时,通过GCViewer分析GC日志,找出原因并优化。 2. **内存泄漏检测**:长时间运行的应用如果内存持续增长,可能有内存泄漏,GCViewer能辅助定位问题。 3. **JVM...

    java应用JVM的GC频率观察方法

    年轻代GC主要处理新生代的对象,而Full GC则涉及到整个堆,包括年轻代和老年代,它的执行通常会导致较高的系统负载,并可能导致应用程序暂停,甚至在频繁触发时造成服务中断或系统崩溃。 为了确保应用的稳定性和...

    JVM问题分析调优经验

    线上系统频繁出现Full GC的现象通常表现为机器CPU负载过高和频繁的Full GC报警。Full GC是JVM中最耗时的操作,可能导致系统响应变慢甚至服务中断。其常见原因包括: 1. 对象频繁进入老年代,频繁触发Full GC。 2. 高...

    jvm 参数及gc详解

    Full GC开销大,应尽量避免频繁触发。 3. 垃圾收集器 - Serial GC:单线程的垃圾收集器,适合小型应用。 - Parallel GC:多线程版本的Serial GC,提高了吞吐量。 - CMS(Concurrent Mark Sweep)GC:并行标记,...

    gchisto - gc

    使用`GCHisto_Tool`,我们可以分析这些数据,找出可能存在的性能瓶颈,比如频繁的Full GC或过长的GC暂停时间。这些信息有助于调整JVM的内存设置,例如增大新生代大小、调整垃圾收集器策略,或者优化对象分配以减少...

    tomcat GC 优化配置

    对于某些动态加载类的应用程序来说,适当增大持久代可以避免频繁的Full GC。 #### 四、GC类型及其触发条件 1. **Scavenge GC**:主要针对年轻代进行的局部GC操作,当Eden区空间不足时触发,目的是清理不再使用的...

    gcviewer-1.35-SNAPSHOT

    GCViewer的核心功能在于将Java虚拟机(JVM)的GC日志转化为直观的图表,帮助开发者识别出可能存在的性能瓶颈,比如频繁的Full GC、长时间的GC暂停时间等。这些信息对于优化应用程序的性能、减少响应延迟以及提高系统...

    gclog+gcviewer.zip

    比如,如果发现Full GC过于频繁,可能意味着老年代内存不足,需要调整JVM内存设置;如果暂停时间过长,可能需要优化垃圾回收策略,减少应用响应延迟。 总的来说,GC日志分析和GCViewer工具的使用是Java性能调优的...

    GC基本调优工具介绍

    - **Full GC频率**:过多的Full GC会导致应用暂停时间过长,影响性能。 - **内存分配速度**:如果内存分配速度快于GC回收速度,可能导致频繁的GC。 - **内存使用情况**:关注每个区域的内存使用,避免溢出。 - **...

    poi大量数据读取gc内存溢出解决方案

    poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取为cvs即可.此解决方案可支持千万数据的...

    JVM垃圾回收机制与GC性能调优

    过大或过小的堆可能导致GC频繁运行或运行时间过长,影响应用性能。年轻代比例过大可能会导致不必要的Minor GC,而过小则可能导致对象过早晋升到旧域,增加Full GC的压力。 总结来说,理解JVM堆的结构和GC的工作机制...

Global site tag (gtag.js) - Google Analytics