gpt4 book ai didi

java - 为什么 Full GC Continue 会发生?

转载 作者:行者123 更新时间:2023-11-30 10:23:14 26 4
gpt4 key购买 nike

GC 日志

2017-11-08T01:48:24.133+0800: 63444.343: [Full GC [PSYoungGen: 918116K->0K(1494016K)] [ParOldGen: 2271465K->1273508K(2555904K)] 3189581K->1273508K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8804710 secs] [Times: user=8.48 sys=0.03, real=0.89 secs] 
2017-11-08T01:48:32.132+0800: 63452.342: [Full GC [PSYoungGen: 855154K->0K(1494016K)] [ParOldGen: 2287221K->1322801K(2555904K)] 3142375K->1322801K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8771230 secs] [Times: user=8.40 sys=0.00, real=0.88 secs]
2017-11-08T01:48:40.132+0800: 63460.342: [Full GC [PSYoungGen: 902479K->0K(1494016K)] [ParOldGen: 2336514K->1256452K(2555904K)] 3238994K->1256452K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8855200 secs] [Times: user=8.84 sys=0.01, real=0.89 secs]
2017-11-08T01:48:48.130+0800: 63468.340: [Full GC [PSYoungGen: 882590K->0K(1494016K)] [ParOldGen: 2270165K->1256453K(2555904K)] 3152755K->1256453K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8677890 secs] [Times: user=8.42 sys=0.01, real=0.87 secs]
2017-11-08T01:48:56.133+0800: 63476.343: [Full GC [PSYoungGen: 861301K->0K(1494016K)] [ParOldGen: 2270166K->1322782K(2555904K)] 3131468K->1322782K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8013890 secs] [Times: user=7.17 sys=0.00, real=0.81 secs]
2017-11-08T01:49:04.127+0800: 63484.337: [Full GC [PSYoungGen: 898990K->0K(1494016K)] [ParOldGen: 2336494K->1256170K(2555904K)] 3235485K->1256170K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8792570 secs] [Times: user=8.35 sys=0.00, real=0.88 secs]
2017-11-08T01:49:12.132+0800: 63492.342: [Full GC [PSYoungGen: 885368K->0K(1494016K)] [ParOldGen: 2269882K->1256088K(2555904K)] 3155251K->1256088K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8924250 secs] [Times: user=8.41 sys=0.03, real=0.89 secs]
2017-11-08T01:49:20.125+0800: 63500.335: [Full GC [PSYoungGen: 858394K->0K(1494016K)] [ParOldGen: 2269801K->1322779K(2555904K)] 3128195K->1322779K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8686500 secs] [Times: user=8.32 sys=0.00, real=0.87 secs]
2017-11-08T01:49:28.128+0800: 63508.338: [Full GC [PSYoungGen: 902214K->0K(1494016K)] [ParOldGen: 2336492K->1256045K(2555904K)] 3238707K->1256045K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8648800 secs] [Times: user=8.45 sys=0.01, real=0.87 secs]
2017-11-08T01:49:36.128+0800: 63516.338: [Full GC [PSYoungGen: 883133K->0K(1494016K)] [ParOldGen: 2269758K->1256037K(2555904K)] 3152892K->1256037K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8212970 secs] [Times: user=7.20 sys=0.15, real=0.83 secs]
2017-11-08T01:49:44.128+0800: 63524.338: [Full GC [PSYoungGen: 875607K->0K(1494016K)] [ParOldGen: 2269750K->1322438K(2555904K)] 3145357K->1322438K(4049920K) [PSPermGen: 101780K->101780K(131072K)], 0.8001900 secs] [Times: user=7.11 sys=0.00, real=0.80 secs]

JVM 选项

-Xms4096m 
-Xmx4096m
-Xmn1600m
-XX:PermSize=128M
-XX:MaxPermSize=256M
-XX:+PrintGCDetails
-verbose:gc
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintGCDateStamps
-XX:-HeapDumpOnOutOfMemoryError

即使 ParOldGen 加上 ParOldGen 低于 Xmx4096m,也会频繁发生 Full GC。谁能帮我分析一下?如何优化这种情况?

最佳答案

查看您的 GC 日志,您在旧空间中进行了直接分配。一旦 old 空间耗尽,就会触发 full GC(即使 young 有一些空闲空间)。旧空间中的直接分配可能是由对象大小引起的,超过了剩余的 Eden 大小(对于您的堆几何,大约 300 MiB)。

提供,

  • 你正在分配巨大的对象
  • 这些对象是短暂的(每个 GC 恢复 ~2 GiB)

我无法建议您使用任何 GC 调优策略(除非您准备好大幅增加堆大小)。

我建议您调查正在分配的巨大对象的性质。堆转储或任务控制(请参阅“TLAB 外部分配”)应该有所帮助。

关于java - 为什么 Full GC Continue 会发生?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47170856/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com