dino
dino

Reputation: 31

What is the reason survivor spaces get full 100%

Our server application seems to behave correctly for some time, but after a while the survivor space fills up to 100% and from then on the heap usage grows, the GC cycles (both minor and major) are becoming more and more frequent and eventually the heap depletes.

Here is a part of 'jstat -gcutil < pid > 1000' output:

  S0     S1     E      O      P     YGC     YGCT    FGC    FGCT     GCT   
100.00   0.00  99.17  48.34  59.93   7014 11777.197   345  554.945 12332.143
100.00   0.00  99.17  48.34  59.93   7014 11777.197   345  554.945 12332.143
100.00   0.00  99.17  48.34  59.93   7014 11777.197   345  554.945 12332.143
100.00   0.00  99.17  48.34  59.93   7014 11777.197   345  554.945 12332.143
100.00   6.02 100.00  48.55  59.93   7015 11777.197   345  554.945 12332.143
  0.00 100.00   1.30  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  10.74  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  19.16  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  27.72  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  37.43  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  45.76  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  55.35  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  63.05  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  72.27  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  81.21  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00  90.46  50.43  59.93   7015 11778.699   345  554.945 12333.644
  0.00 100.00 100.00  50.43  59.93   7016 11778.699   345  554.945 12333.644
 80.16 100.00 100.00  50.53  59.93   7016 11778.699   345  554.945 12333.644
100.00   0.00   5.96  51.79  59.93   7016 11780.080   345  554.945 12335.026
100.00   0.00   7.73  51.79  59.93   7016 11780.080   345  554.945 12335.026
100.00   0.00   7.73  51.79  59.93   7016 11780.080   345  554.945 12335.026
100.00   0.00   7.73  51.79  59.93   7016 11780.080   345  554.945 12335.026

My question is what is the main reason behind this kind of application behavior? Is it too small young space or heap, some other JVM parameter, or just a plain old memory leak?

What would be the best strategy to solve this problem, GC tuning, or application refactoring?

JDK 1.6, HP-UX, Xmx/Xms 1G, Xmn 264M, +UseConcMarkSweepGC, +UseParNewGC

Many thanks

Upvotes: 3

Views: 3790

Answers (1)

Marcos Macedo
Marcos Macedo

Reputation: 161

Plain old memory leak, i would search if any library you use already leaks first.

Is there any batch job being activated ?

Upvotes: 1

Related Questions