继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

ccLoveStudy
关注TA
已关注
手记 82
粉丝 6
获赞 4

课程名称: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字符串占用了如此多的内存,可能节省的时间会更多,效率会更高吧。还是跟着老师学,一定会收益的

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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP