【每日一问】如何排查内存泄漏?
如果观察一个系统,每次进行 FullGC 发现堆空间回收的比例比较小,尤其是老年代,同时对象越来越多,这个时候可 以判断是有可能发生内存泄漏.
如何排查:
- 使用jps查看虚拟机进程;
- 使用jstat -gcutil [pid] [interval]命令查看gc回收情况;
- 使用轻量级在线分析工具 jmap-histo:live [pid] 查看和定位信息;
- 若无法定位则使用 jmap -dump:live,format=b,file=heap.hprof [pid] 生成转储快照使用MAT等工具进行离线分析,定位问题。
优化思路:
- 定位问题后进行程序优化,效果通常非常大;
- 扩容,给JVM分配更大的内存;
- 参数调优,在成本、吞吐量、延迟之间找一个平衡点。
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 dreamer
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果

