java psgc_完整GC期间'PSPermGen'和'real'时间长'user'和'sys'

在生产环境中,Java应用出现了一次罕见的GC问题,PSPermGen的GC耗时从通常的0.2-0.3秒增加到了38.96秒,而用户和系统时间分别为0.75秒和0.00秒。同时,整个GC过程耗时40秒,远高于以往。CPU和内存使用率保持在低位。日志显示了几次GC事件,但未发现明显的错误或频繁GC现象。问题可能涉及Java 6更新45在Windows 2003 x86上的配置或资源限制。
摘要由CSDN通过智能技术生成

我在 生产环境 中遇到了一个奇怪的问题,经过5年多的运作后才发生一次 . 我们发现PSPermGen和'实际'持续时间远远高于用户系统的时间 . 2016年2月4日,PSPermGen在之前的运行时间为0.2-0.3秒,并且没有释放内存,耗时38.96秒 . 当用户系统为0.3-0.4秒时,实时花费40秒,这与之前的运行相比异常高 . 没有看到完整的GC频繁发生,我也没有观察到任何GC相关的错误 . CPU使用率<1%,持续时间内内存使用率<20% .

INFO | jvm 1 | 2016/02/04 02:56:56 | [GC [PSYoungGen:88312K-> 936K(86144K)] 261016K-> 174219K(260928K),0.4070215 secs] [次:用户= 0.75 sys = 0.00,real = 0.42 secs] INFO | jvm 1 | 2016/02/04 02:57:08 | [GC INFO | jvm 1 | 2016/02/04 02:57:11 | [PSYoungGen:85703K-> 96K(102400K)] 258985K-> 175019K(278784K),3.1902546 secs] [次:用户= 7.14 sys = 0.05,real = 3.18 secs] INFO | jvm 1 | 2016/02/04 02:57:13 | [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ jvm 1 | 2016/02/04 02:57:20 | [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ jvm 1 | 2016/02/04 02:57:28 | [GC [PSYoungGen:143616K-> 977K(144704K)] 318907K-> 176319K(321088K),0.0035773 secs] [次:用户= 0.00 sys = 0.00,real = 0.00 secs] INFO | jvm 1 | 2016/02/04 02:57:28 | [完整GC状态|包装| 2016/02/04 02:58:03 | JVM显示为挂起:等待来自JVM的信号超时 . 重新启动JVM . 信息| jvm 1 | 2016/02/04 02:58:08 | [PSYoungGen:977K-> 0K(144704K)] [PSOldGen:175341K-> 35127K(174784K)] 176319K-> 35127K(319488K)[PSPermGen:38992K-> 38992K(65536K)],38.9595115 secs] [次:用户= 0.33 sys = 0.14,real = 40.07 secs]

最后几个完整的GC执行的是:

INFO | jvm 1 | 2016/02/02 12:59:49 | [Full GC [PSYoungGen:433K-> 0K(98944K)] [PSOldGen:176749K-> 38591K(174784K)] 177183K-> 38591K(273728K)[PSPermGen:39380K-> 39380K(65536K)],0.2982459 secs] [Tim es :user = 0.30 sys = 0.00,real = 0.30 secs] 21189 INFO | jvm 1 | 2016/02/03 03:15:16 | [Full GC [PSYoungGen:2873K-> 0K(125696K)] [PSOldGen:171318K-> 33804K(174784K)] 174191K-> 33804K(300480K)[PSPermGen:39940K-> 38366K(65536K)],0.3317803 secs] [T imes :user = 0.34 sys = 0.00,real = 0.34 secs] 47151 INFO | jvm 1 | 2016/02/03 12:16:51 | [Full GC [PSYoungGen:1406K-> 0K(171776K)] [PSOldGen:174936K-> 38003K(174784K)] 176342K-> 38003K(346560K)[PSPermGen:38642K-> 38642K(65536K)],0.2988259 secs] [T imes :user = 0.30 sys = 0.00,real = 0.30 secs]

我在Windows 2003 x86上运行Java 6更新45,大约8GB和4个CPU . 磁盘空间绰绰有余 . 我们将JVM配置为初始堆内存为256 MB,最大内存为512 MB . 该应用程序通过Tanuki Wrapper作为Windows服务运行 .

目前看起来似乎没有长时间的GC暂停是由于内存,CPU,磁盘空间等 . 我在这里缺少什么?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值