Java: 年轻代和年老代占用率总是100%, full gc次数一直增长,但不OOM怎么回事?
如下:
./jstat -gcutil 30370 5000
S0 S1 E O M CCS YGC YGCT FGC FGCT GCT
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440213 440626.561 440908.194
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440215 440627.411 440909.044
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440215 440628.133 440909.766
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440216 440628.980 440910.613
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440217 440629.706 440911.339
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440218 440630.560 440912.193
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440219 440631.288 440912.921
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440220 440631.288 440912.921
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440221 440632.856 440914.489
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440221 440632.856 440914.489
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440222 440633.697 440915.330
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440223 440634.420 440916.053
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440224 440635.275 440916.908
0.00 95.17 100.00 100.00 93.89 89.74 4506 281.633 440225 440636.000 440917.633
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440226 440636.841 440918.474
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440227 440637.563 440919.196
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440227 440637.563 440919.196
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440228 440638.420 440920.053
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440229 440639.145 440920.778
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440230 440640.002 440921.635
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440231 440640.740 440922.373
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440232 440641.588 440923.221
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440233 440642.310 440923.943
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440234 440642.310 440923.943
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440235 440643.147 440924.780
0.00 95.18 100.00 100.00 93.89 89.74 4506 281.633 440235 440643.869 440925.502
...
0.00 95.30 100.00 100.00 93.89 89.74 4507 281.633 440734 441068.575 441350.208
0.00 95.30 100.00 100.00 93.89 89.74 4507 281.633 440735 441069.424 441351.057
0.00 95.30 100.00 100.00 93.89 89.74 4507 281.633 440736 441070.150 441351.783
0.00 95.30 100.00 100.00 93.89 89.74 4507 281.633 440737 441070.150 441351.783
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440738 441070.992 441352.625
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440738 441070.992 441352.625
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440738 441070.992 441352.625
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440739 441089.054 441370.687
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440739 441089.054 441370.687
0.00 100.00 100.00 100.00 93.89 89.74 4508 281.633 440739 441089.054 441370.687
0.00 90.20 100.00 100.00 93.89 89.74 4508 281.633 440740 441105.210 441386.843
0.00 95.11 100.00 100.00 93.89 89.74 4508 281.633 440740 441105.210 441386.843
0.00 95.11 100.00 100.00 93.89 89.74 4508 281.633 440740 441105.210 441386.843
0.00 95.11 100.00 100.00 93.89 89.74 4508 281.633 440741 441106.061 441387.694
0.00 95.11 100.00 100.00 93.89 89.74 4508 281.633 440742 441106.783 441388.416
0.00 95.11 100.00 100.00 93.89 89.74 4508 281.633 440743 441107.639 441389.272
在最后的部分,s1区满了, minor gc了一次,也很奇怪
full gc过于频繁,而minor gc次数与时间就还好
这种情况如何处理?加大年老代内存就ok了吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
因为在full gc啊,所以内存不会泄露把.
从你贴出来的数据分析,虽然
E
和O
都是100%并且一直在进行full gc
,但是整个程序在这段时间内的内存使用很稳定,新对象的产生和回收速度相当,不会向年老代堆积,所以并不会发生OOM。不过以上仅是猜测,具体情况可能还需要结合程序和更多数据来分析。