Dump文件:线程dump和堆dump
2019獨角獸企業重金招聘Python工程師標準>>>
一、線程dump
1、我最先使用的是線程dump,看線程是否有阻塞的,比如查看同步方法的;
2、線程dump是直接可以用editplus打開的,看起來很方便;
?
二、堆dump
1、速度比線程dump慢很多;
2、最近api經常會無故訪問不了,進程是存在的,檢查日志發現是因為堆內存溢出,其它接口雖然訪問到了但是不能分配內存當然也就無法成功響應,然后僵死了導致服務不可用,在重啟服務之前用jmap命令生成了一份dump文件便于后面分析。
生成dump文件的命令:
jmap -dump:format=b,file=20170307.dump 16048
3、生成dump文件后用java的jvisualvm打開。具體打開方式可參考我的另一篇文章:https://my.oschina.net/weiweiblog/blog/1787912
4、Java Heap Dump文件格式是一個HPROF二進制格式,需要特殊的工具才能進行分析,而這個文件通常都比較大,如果你的Heap Dump文件超過了幾百MB,那就不要再寄希望于jhat了,因為jhat需要數倍于dump文件的內存。這個時候你可以用MAT(Memory Analyzer),用MAT你可以在有2GB可用內存的機器上分析大約1GB左右的Dump文件。
?
?
轉載于:https://my.oschina.net/weiweiblog/blog/1787905
總結
以上是生活随笔為你收集整理的Dump文件:线程dump和堆dump的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 二:unittest框架配合seleni
- 下一篇: IIS崩溃时自动抓取Dump