日期:2014-05-16  浏览次数:21138 次

linux/windows下利用JDK自带的工具获取thread dump文件和heap dump文件

在上一篇博客http://blog.csdn.net/aitangyong/article/details/24009283中介绍了dump的一些基本概念,这一篇博客介绍如何在windows/linux平台下获取dump文件,为后续的学习打下基础。我们使用的JDK工具在JDK_HOME/bin/目录下,使用到jmap和jstack这2个命令。

获取heap dump文件

windows下切换到JDK_HOME/bin/,执行以下命令:jmap -dump:format=b,file=m.hprof 4612 
linux下切换到JDK_HOME/bin/,执行以下命令:./jmap -dump:format=b,file=m.hprof 4612
这样就会在当前目录下生成m.hprof文件,这就是heap dump文件。

获取thread dump文件

windows下执行:jstack 4612
linux下执行:./jstack 4612 > 1.txt
这样windows下cmd窗口就会打印thread dump,但是不能以文件的形式保存;
linux则会将命令执行结果转储到1.txt,这就是thread dump文件

windows下如何将thread dump存到文件中,我不知道怎么弄的,知道的兄弟,求分享啊!