小编gor*_*nak的帖子

Java G1 GC Processing Reference对象运行缓慢

我在Java上运行了反击.它工作24小时,每秒约100次.在白天,GC处理时间从20-60毫秒缓慢上升到10000-60000毫秒,然后下降到20-60毫秒.这种模式不时重复.从GC日志中我发现GC大部分时间用于处理Reference对象(Ref Proc).那么这么长的GC时间的原因是什么呢?

Server: Amazon EC2 m1.small
OS: Ubuntu 10.04.3 LTS
Java: Oracle 1.7.0_07
Run Code Online (Sandbox Code Playgroud)

GC日志示例:

2012-09-13T16:51:20.091+0400: 167239.936: [GC pause (young), 62.58395400 secs]
...
[Other: 62489.7 ms]
    [Choose CSet:   0.0 ms]
    [Ref Proc: 62433.9 ms]
    [Ref Enq:   0.0 ms]
    [Free CSet:   0.7 ms]
[Eden: 200M(200M)->0B(199M) Survivors: 4096K->5120K Heap: 578M(1024M)->380M(1024M)]
Run Code Online (Sandbox Code Playgroud)

时间 - "Ref Proc"图:

09:37:59 - 242.4 ms
09:38:50 - 226.0 ms
09:39:00 - 83.6 ms
...
11:45:22 - 451.8 ms
11:46:04 - 489.3 ms
11:46:46 - 505.6 ms
...
14:05:40 - 1027.3 …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection g1gc

11
推荐指数
1
解决办法
1325
查看次数

标签 统计

g1gc ×1

garbage-collection ×1

java ×1