I have seen sudden spike in my application / platform memory utilization.In the GC verbose logs I have seen below :
1285.946: [GC 1285.946: [**ParNew (promotion failed)**: 353920K-353920K(353920K), 0.8003983 secs]1286.747: [CMS1287.338:
[CMS-con current-sweep: 7.902/9.624 secs] [Times: user=96.62 sys=2.35,
real=9.62 secs] (**concurrent mode failure**):
2531317K->1161025K(2752512K), 24.8330303 secs]
2860005K->1161025K(3106432K), [CMS Perm : 37117K->3 6905K(62368K)],
25.6341706 secs] [Times: user=26.41 sys=0.05, real=25.63 secs] [ POA RootPOA - rid: 17 oid: 00 17 2E 29 23 33 49 34 25 3E opname: ping -
process request ]
1312.367: [GC 1312.367: [ParNew: 314624K->30240K(353920K), 0.0188874 secs] 1475649K->1191266K(3106432K), 0.0194380 secs] [Time s: user=0.40
sys=0.00, real=0.02 secs]
1313.249: [GC 1313.249: [ParNew: 344864K->39296K(353920K), 0.0300220 secs] 1505890K->1201198K(3106432K), 0.0305488 secs]
ParNew (promotion failed ),concurrent mode failure :
I believe the sudden spike in the memory is visible because of GC failure. Explain and How to resolve this.
"ParNew (promotion failed)" means, there are some objects from young generation will be promoted to old generation, but there is not enough space. Maybe the old space is almost full, or maybe a promoted object is too huge, and there is not enough continue space.
The simple solution, that is try to increase the size of old generation. Or you may try to use G1 algorithm, it may reduce the fragment problem of old generation.
If both methods can't solve your problem, you may need to review your code, to reduce the size of a single object.
Just my 2 cents,
Best Regards, Leon
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With