写点什么

记一次 GC 频繁且间隔较长解决实战总结

用户头像
AI乔治
关注
发布于: 2020 年 12 月 03 日
记一次GC频繁且间隔较长解决实战总结

1.背景

XX大数据项目,进行高并发且长时间的压测验证系统稳定性的表现。

2.异常问题

压测中发现,探针监控到应用服务器集群内存消耗达到85%左右,且压测结束后内存不释放。

3.问题定位

集群中的应用服务器逐一分析,定位到41节点对应的应用服务器,GC回收Old Gen一直处于上升的趋势,Young Gen波动较小,GC频繁且GC回收间隔较长。

异常趋势图如下:





4.初步解决方案

-XX:NewSize=3g,-XX:MaxNewSize=3g

调优趋势图如下:





5.总结

性能压测中,对于内存的要求,除了稳定不泄漏、不争Swap等,GC资源回收表现也是一个重要的指标。引起GC频繁的因素除了人为代码、脚本或程序调用的框架中调用了GC方法,内存本身也是个重要因素,当Heap设置较小或默认的过小会引起频繁的GC,所以当类似Spark、大数据、人工智能等对内存性能要求很高的相关的项目或程序时,需分配给Heap较大的内存空间,减少GC频繁导致系统出现性能异常。


看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:



  1. 点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。

  2. 关注公众号 『 java烂猪皮 』,不定期分享原创知识。

  3. 同时可以期待后续文章ing🚀



作者:若岛

出处 :https://club.perfma.com/article/211838

用户头像

AI乔治

关注

分享后端技术干货。公众号【 Java烂猪皮】 2019.06.30 加入

一名默默无闻的扫地僧!

评论

发布
暂无评论
记一次GC频繁且间隔较长解决实战总结