Java抛出OutOfMemoryError:Java heap space堆内存溢出错误的分析方案

阅读: 评论:0

Java抛出OutOfMemoryError:Java heap space堆内存溢出错误的分析方案

Java抛出OutOfMemoryError:Java heap space堆内存溢出错误的分析方案

  抛出堆内存溢出的错误一定要记得保留现场环境(导出堆内存信息到文件),否则如果无法进行分析,并从根本上解决问题,下次很有可能还会出现。

第一步:导出堆转储文件

  我们可以使用Jdk自带的jmap工具。使用命令:jmap -dump:file=DumpFileName.log,format=b pid; DumpFileName.log指的是导出的文件路径,pid指的是抛异常的进程Id。因为文件导出需要一定的时间,这时候如果是生产环境急需恢复正常的话可以在启动进程时在jvm参数上加上-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=heap.log; 这样当该进程溢出时会自动导出堆文件到heap.log

第二步:分析堆文件

  这里使用ibm HeapAnalyzer分析堆文件。打开工具后点击File>open选择堆文件或者拖拽堆文件到工具区,找到heap分析区可以看到导出文件那一刻堆内存中的对象占比情况,在结合代码找出内存溢出的原因。

 

转载于:.html

本文发布于:2024-01-31 15:44:02,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170668704329607.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:抛出   内存   错误   方案   Java
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23