课程名称:Java生产环境下性能监控与调优详解
课程章节:第二章
主讲老师:若鱼1919
课程内容:
如何导出内存溢出文件
内存溢出自动导出
-XX:+HeapDumpOnOutOfMemoryError 当内存溢出,把错误打印出来
-XX:HeapDumpPath=/. 设置内存输出路径,目前是导出到当前路径
使用jmap命令手动导出
jmap -dump:format=b,file=heap.hprof pid
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/jmap.html#CEGCECJB 更详细
使用MAT分析内存溢出文件
下载MAT工具
学会使用MAT工具分析内存溢出的类的占比以及分布
课程收获:
我记得之前服务器总是会出现heapUmp类似的文件,当时不知道是什么东西,后来到了生产遇到了内存溢出,我不知道怎么处理,后来网上查了查知道了这个东西,当时我记得使用jstack打出了堆栈信息,只看到了String还有线程,后来我记得用了MAT,但是当时不会用,也只看到大量的String,事实上就是因为Stirng没有及时的回收,所以才导致的,因为当时的一个String字符串足足2M,后来是靠肉眼分析出来然后解决的,当时如果知道怎么用MAT分析出来是什么String字符串占用了如此多的内存,可能节省的时间会更多,效率会更高吧。还是跟着老师学,一定会收益的
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦