为了账号安全,请及时绑定邮箱和手机立即绑定

【备战春招】第3天+导出内存溢出文件

标签:
Java

课程名称:Java生产环境下性能监控与调优详解

课程章节:第二章

主讲老师:若鱼1919

课程内容:

如何导出内存溢出文件

  1. 内存溢出自动导出

    1. -XX:+HeapDumpOnOutOfMemoryError   当内存溢出,把错误打印出来

    2. -XX:HeapDumpPath=/.     设置内存输出路径,目前是导出到当前路径

  2. 使用jmap命令手动导出

    1. jmap -dump:format=b,file=heap.hprof pid

    2. https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jmap.html#CEGCECJB  更详细

  3. 使用MAT分析内存溢出文件

    1. 下载MAT工具

    2. 学会使用MAT工具分析内存溢出的类的占比以及分布

课程收获:

我记得之前服务器总是会出现heapUmp类似的文件,当时不知道是什么东西,后来到了生产遇到了内存溢出,我不知道怎么处理,后来网上查了查知道了这个东西,当时我记得使用jstack打出了堆栈信息,只看到了String还有线程,后来我记得用了MAT,但是当时不会用,也只看到大量的String,事实上就是因为Stirng没有及时的回收,所以才导致的,因为当时的一个String字符串足足2M,后来是靠肉眼分析出来然后解决的,当时如果知道怎么用MAT分析出来是什么String字符串占用了如此多的内存,可能节省的时间会更多,效率会更高吧。还是跟着老师学,一定会收益的

https://img3.sycdn.imooc.com/63e0c4ca0001ab7e06890501.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
6
获赞与收藏
4

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消