java full gc 时间_Java - Full GC(垃圾收集器)在短时间内发生很多事情,导致性能下降...

本文记录了一次在生产环境中遇到的Tomcat服务器高线程数问题,详细分析了垃圾回收频繁触发的原因及对应用性能的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我在prod环境中看到一些异常行为导致我们在运行Tomcat的服务器上出现高线程数 . 堆大小10,092,544K在新一代和产权生成之间分配为2,752,512K 7,340,032K = 10,092,544K .

我很困惑为什么GC在堆上有足够的内存可用时多次运行(新旧两种)(Full GC [PSYoungGen:0K-> 0K(2752512K)] [ParOldGen:2748534K-> 2748529K(7340032K) )])

正如你可以看到0K-> 0K的年轻人和.27G - > .27G的老一代意味着几乎没有任何对象得到gc'd并且有很多可用的内存 . (堆大小为10G) .

由于Full GC在短时间间隔内运行多次,因此导致性能降低,因此应用程序无法处理传入的用户请求,因此无法处理服务器上的高线程,最终我们必须重新启动服务器以摆脱这种情况 .

你能解释一下这里发生了什么 .

这是gc.log上的输出 .

. .

更多...... . .

7月18日14:52:38 fwprodcontent03 gc.log:3172.122:[GC [PSYoungGen:0K-> 0K(2752512K)] 2750855K-> 2750855K(10092544K),0.0515920 secs] [次:用户= 0.32 sys = 0.01,真实= 0.06秒] Jul 18 14:52:42 fwprodcontent03 gc.log:3172.174:[Full GC [PSYoungGen:0K-> 0K(2752512K)] [ParOldGen:2750855K-> 2749937K(7340032K)] 2750855K-> 2749937K(10092544K) [PSPermGen:262143K-> 262115K(262144K)],4.1571260 secs] [次:用户= 44.29 sys = 0.06,实际= 4.15秒] 7月18日14:52:42 fwprodcontent03 gc.log:3176.361:[GC [PSYoungGen:9071K - > 1280K(2752512K)] 2759008K-> 2751217K(10092544K),0.0989600秒] [时间:用户= 0.64 sys = 0.01,实际= 0.10秒] 7月18日14:52:46 fwprodcontent03 gc.log:3176.461:[全GC [PSYoungGen:1280K-> 0K(2752512K)] [ParOldGen:2749937K-> 2748847K(7340032K)] 2751217K-> 2748847K(10092544K)[PSPermGen:262143K-> 262121K(262144K)],3.1331910 secs] [Tim es:user = 31.25 sys = 0.01,real = 3.14 secs] Jul 18 14:52:46 fwprodcontent03 gc.log:3179.616:[GC [PSYoungGen:2161K-> 288K(2752512K)] 2751008K-> 2749135K(1 0092544K),0.0688890秒] [时间:用户= 0.42 sys = 0.02,实际= 0.07秒] 7月18日14:52:49 fwprodcontent03 gc.log:3179.686:[Full GC [PSYoungGen:288K-> 0K(2752512K)] [ ParOldGen:2748847K-> 2748930K(7340032K)] 2749135K-> 2748930K(10092544K)[PSPermGen:262143K-> 262143K(262144K)],3.2369940 secs] [时间s:用户= 32.23 sys = 0.02,real = 3.23 secs] 7月18日14:52:49 fwprodcontent03 gc.log:3182.923:[GC [PSYoungGen:0K-> 0K(2752512K)] 2748930K-> 2748930K(10092544K),0.0607190 secs] [次:用户= 0.39 sys = 0.01,real = 0.06 secs ] Jul 18 14:52:57 fwprodcontent03 gc.log:3182.984:[Full GC [PSYoungGen:0K-> 0K(2752512K)] [ParOldGen:2748930K-> 2748528K(7340032K)] 2748930K-> 2748528K(10092544K)[PSPermGen: 262143K-> 262141K(262144K)],8.5377730秒] [时间:用户= 98.30 sys = 0.57,实际= 8.54秒] 7月18日14:52:58 fwprodcontent03 gc.log:3191.533:[GC [PSYoungGen:202K-> 128K (2752512K)] 2748731K-> 2748656K(10092544K),0.1088430秒] [次:用户= 0.67 sys = 0.00,实际= 0.11秒] 7月18日14:53:02 fwprodcontent03 gc.log:3191 .642:[Full GC [PSYoungGen:128K-> 0K(2752512K)] [ParOldGen:2748528K-> 2748534K(7340032K)] 2748656K-> 2748534K(10092544K)[PSPermGen:262143K-> 262143K(262144K)],3.1761780 secs] [时间s:用户= 31.11 sys = 0.02,实际= 3.18秒] 7月18日14:53:02 fwprodcontent03 gc.log:3194.820:[GC [PSYoungGen:0K-> 0K(2752512K)] 2748534K-> 2748534K(10092544K) ,0.0589010秒] [时间:用户= 0.38 sys = 0.01,实际= 0.06秒] 7月18日14:53:05 fwprodcontent03 gc.log:3194.879:[全GC [PSYoungGen:0K-> 0K(2752512K)] [ParOldGen: 2748534K-> 2748529K(7340032K)] 2748534K-> 2748529K(10092544K)[PSPermGen:262143K-> 262143K(262144K)],3.0554520秒] [时间:用户= 30.72 sys = 0.03,实际= 3.05秒] . . . 更多.....

提前致谢 .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值