JVM App暂停了几个小时|没有观察到OOM错误,但所有迹象表明在GC中无法正常工作

时间:2014-10-29 16:45:38

标签: memory garbage-collection jvm

我正面临一个问题,我的java应用程序只是PAUSES&没有做任何活动。

VM args:-XX:+ HeapDumpOnOutOfMemoryError -XX:HeapDumpPath = / tmp / javadumps -Xms2048m -Xmx4600m -XX:NewRatio = 3 -XX:+ UseConcMarkSweepGC -XX:+ UseParNewGC -XX:+ PrintGCDetails -XX:+ PrintGCTimeStamps

该应用使用CMS& ParNew收藏家为终身和年轻一代。 此保管箱链接中提供了GCdetails: https://www.dropbox.com/s/g0ta7699ngpoxe7/mdoaggregatorscript.out_agg4?dl=0

  

系统详细信息:2个Xeon核心,7.1 GB(7513700)MemTotal:
  7513700 kB,MemFree:2173332 kB,Buffers:90248 kB   Cached:67264 kB,SwapCached:0 kB,Active:
  5071852 kB无效:104700 kB,Active(anon):5019152 kB

我一直观察到,当应用程序暂停发生时,从ParNew开始的ParNew集合打印输出总是在最后。

  

46341.116:[GC46341.116:[ParNew:1059840K-> 1059840K(1059840K),0.0000700秒] 46341.116:[CMS:2739199K-> 2744012K(3532800K),6.6278210秒] 3799039K-> 2744012K(4592640K) ,[CMS Perm:20858K-> 20858K(34852K)],6.6281870 secs] [次:用户= 6.63 sys = 0.00,   真实= 6.63秒]   46347.745:[GC [1 CMS-initial-mark:2744012K(3532800K)] 2744045K(4592640K),0.0015100 secs] [次:用户= 0.00 sys = 0.00,   真实= 0.00秒]   46347.746:[CMS-concurrent-mark-start]   46352.379:[CMS-concurrent-mark:4.632 / 4.632 secs] [次:用户= 6.62 sys = 0.01,real = 4.63 secs]   46352.379:[CMS-concurrent-preclean-start]   46352.436:[CMS-concurrent-preclean:0.041 / 0.057 secs] [次:用户= 0.04 sys = 0.02,real = 0.06 secs]   46352.436:[CMS-concurrent-abortable-preclean-start] CMS:因时间而中止预清洁46357.446:[CMS-并发 - 流产 - 预清洁:   3.646 / 5.009秒] [时间:用户= 4.52 sys = 3.12,真实= 5.01秒]   46357.446:[GC [YG占有率:341596 K(1059840 K)] 46357.447:[Rescan(parallel),0.5170340 secs] 46357.964:[ref refs processing,   0.0000380 secs] 46357.964:[scrub string table,0.0002770 secs] [1 CMS-remark:2744012K(3532800K)] 3085608K(4592640K),0.5175340 secs]   [时间:用户= 1.04 sys = 0.00,实际= 0.52秒]   46357.964:[CMS-concurrent-sweep-start]   46359.386:[CMS-concurrent-sweep:1.422 / 1.422 secs] [次:用户= 1.89 sys = 0.47,real = 1.42 secs]   46359.387:[CMS-concurrent-reset-start]   46359.400:[CMS-concurrent-reset:0.013 / 0.013秒] [时间:用户= 0.02 sys = 0.00,实际= 0.01秒]   46361.400:[GC [1 CMS-initial-mark:2743986K(3532800K)] 3197213K(4592640K),0.4010590 secs] [次:用户= 0.40 sys = 0.00,   真实= 0.40秒]   46361.801:[CMS-concurrent-mark-start]   46365.768:[CMS-concurrent-mark:3.967 / 3.967 secs] [次:用户= 5.04 sys = 0.00,real = 3.97 secs]   46365.768:[CMS-concurrent-preclean-start]   46365.837:[CMS-concurrent-preclean:0.049 / 0.068 secs] [次:用户= 0.05 sys = 0.01,real = 0.07 secs]   46365.837:[CMS-concurrent-abortable-preclean-start] CMS:因时间而中止预清洁46370.842:[CMS-concurrent-abortable-preclean:   1.242 / 5.006秒] [时间:用户= 1.70 sys = 0.72,真实= 5.00秒]   46370.843:[GC [YG占有率:558264 K(1059840 K)] 46370.843:[Rescan(parallel),0.8305230 secs] 46371.674:[refs refs processing,   0.0000380秒] 46371.674:[擦洗字符串表,0.0002770秒] [1 CMS-备注:2743986K(3532800K)] 3302250K(4592640K),0.8310160秒]   [时间:用户= 1.65 sys = 0.00,实际= 0.83秒]   46371.674:[CMS-concurrent-sweep-start]   46373.235:[CMS-concurrent-sweep:1.561 / 1.561秒] [时间:用户= 2.08 sys = 0.48,实际= 1.57秒]   46373.235:[CMS-concurrent-reset-start]   46373.251:[CMS-concurrent-reset:0.016 / 0.016 secs] [次:用户= 0.02 sys = 0.02,实际= 0.01秒]   46375.252:[GC [1 CMS-initial-mark:2743585K(3532800K)] 3436745K(4592640K),0.6207210 secs] [次:用户= 0.62 sys = 0.00,   真实= 0.62秒]   46375.872:[CMS-concurrent-mark-start]   46380.253:[CMS-concurrent-mark:4.381 / 4.381 secs] [次:用户= 5.64 sys = 0.46,real = 4.38 secs]   46380.254:[CMS-concurrent-preclean-start]   46380.364:[CMS-concurrent-preclean:0.080 / 0.111 secs] [次:用户= 0.08 sys = 0.07,real = 0.11 secs]   46380.364:[CMS-concurrent-abortable-preclean-start] CMS:因时间而中止预清洁46385.369:[CMS-concurrent-abortable-preclean:   1.233 / 5.004秒] [时间:用户= 1.84 sys = 0.86,真实= 5.01秒]   46385.370:[GC [YG占有率:845719 K(1059840 K)] 46385.370:[Rescan(parallel),1.2891210 secs] 46386.659:[ref refs processing,   0.0000390秒] 46386.659:[擦洗字符串表,0.0002680秒] [1 CMS-备注:2743585K(3532800K)] 3589305K(4592640K),1.2896320秒]   [时间:用户= 2.55 sys = 0.00,真实= 1.29秒]   46386.659:[CMS-concurrent-sweep-start]   46388.213:[CMS-concurrent-sweep:1.554 / 1.554 secs] [时间:用户= 2.31 sys = 0.35,实际= 1.55秒]   46388.213:[CMS-concurrent-reset-start]   46388.235:[CMS-concurrent-reset:0.021 / 0.021秒] [时间:用户= 0.03 sys = 0.02,实际= 0.02秒]   46389.132:[GC46389.132:[ParNew:942080K-> 116318K(1059840K),0.1032530秒] 3685661K-> 2859899K(4592640K),0.1034550秒] [时间:用户= 0.21 sys = 0.00,实际= 0.10秒]   46435.520:[GC46435.520:[ParNew:1058398K-> 29773K(1059840K),0.1435140 secs] 3801979K-> 2773355K(4592640K),0.1437390 secs] [次:用户= 0.29 sys = 0.00,实际= 0.15秒]   46488.172:[GC46488.172:[ParNew:971853K-> 18413K(1059840K),0.1826040秒] 3715435K-> 2761995K(4592640K),0.1828270秒] [次:用户= 0.37   sys = 0.00,real = 0.18 secs]   46530.228:[GC46530.228:[ParNew:960493K-> 18608K(1059840K),0.2217660秒] 3704075K-> 2762190K(4592640K),0.2219740秒] [时间:用户= 0.44   sys = 0.00,real = 0.23秒]   46574.685:[GC46574.685:[ParNew:960688K-> 23663K(1059840K),0.2601680秒] 3704270K-> 2767245K(4592640K),0.2603980秒] [时间:用户= 0.52   sys = 0.00,real = 0.26秒]   46617.432:[GC46617.432:[ParNew:965743K-> 31418K(1059840K),0.2988910秒] 3709325K-> 2775000K(4592640K),0.2990950秒] [时间:用户= 0.60   sys = 0.00,real = 0.29 secs]   46661.564:[GC46661.564:[ParNew:973498K-> 38269K(1059840K),0.3438770秒] 3717080K-> 2788322K(4592640K),0.3441020秒] [次:用户= 0.68   sys = 0.00,real = 0.34 secs]   46702.866:[GC46702.866:[ParNew:980349K-> 24715K(1059840K),0.3445660 secs] 3730402K-> 2779810K(4592640K),0.3447720 secs] [次:用户= 0.68   sys = 0.00,real = 0.34 secs]   46747.238:[GC46747.239:[ParNew:966795K-> 35986K(1059840K),0.3594350秒] 3721890K-> 2796065K(4592640K),0.3596770秒] [时间:用户= 0.70   sys = 0.00,real = 0.36 secs]   46791.978:[GC46791.978:[ParNew:978066K-> 23342K(1059840K),0.3379110秒] 3738145K-> 2788380K(4592640K),0.3381030秒] [次:用户= 0.67   sys = 0.00,real = 0.34 secs]

(当卡住jstat gccause输出时: sudo /usr/java/jdk1.7.0_60/bin/jstat -gccause 31927 10000

  

S0 S1 E O P YGC YGCT FGC FGCT
  GCT LGCC GCC    19.82 0.00 60.89 78.27 59.86 1358 1038.979 1348 1441.695 2480.674分配失败无GC    19.82 0.00 60.89 78.27 59.86 1358 1038.979 1348 1441.695 2480.674分配失败无GC

我在这里有2个指针: 并发模式故障& ParNew(促销失败) 但是我观察到的所有停顿都是以

结尾的gc输出

46702.866:[GC46702.866:[ParNew:980349K-> 24715K(1059840K),0.3445660 secs] 3730402K-> 2779810K(4592640K),0.3447720 secs] [次:用户= 0.68 sys = 0.00,real = 0.34秒] 46747.238:[GC46747.239:[ParNew:966795K-> 35986K(1059840K),0.3594350秒] 3721890K-> 2796065K(4592640K),0.3596770秒] [时间:用户= 0.70 sys = 0.00,实际= 0.36秒] 46791.978:[GC46791.978:[ParNew:978066K-> 23342K(1059840K),0.3379110秒] 3738145K-> 2788380K(4592640K),0.3381030秒] [时间:用户= 0.67 sys = 0.00,实际= 0.34秒] < / p>

应用程序简介:该应用程序创建了4个线程池,共有350个线程,每个线程都并行写入数据存储区。在线程中创建的所有内存密集型对象都在线程的调用方法中,因此没有内存泄漏,因为一旦线程完成就可以进行垃圾回收。

0 个答案:

没有答案