您的位置:首页 > 编程语言 > Java开发

Java Dump

2017-01-11 00:00 253 查看

什么是Java Dump?

Java虚拟机的运行时快照。将Java虚拟机运行时的状态和信息保存到文件。

线程Dump,包含所有线程的运行状态。纯文本格式。

堆Dump,包含线程Dump,幵包含所有堆对象的状态。二进制格式。

Java Dump有什么用?

补足传统Bug分析手段的不足: 可在任何Java环境使用;信息量充足。 针对非功能正确性的Bug,主要为:多线程幵发、内存泄漏。

制作Java Dump

使用Java虚拟机制作Dump

指示虚拟机在发生内存不足错误时,自动生成堆Dump

-XX:+HeapDumpOnOutOfMemoryError

使用图形化工具制作Dump

使用JDK(1.6)自带的工具:Java VisualVM。

使用命令行制作Dump

jstack
:打印线程的栈信息,制作线程Dump。

jmap
:打印内存映射,制作堆Dump。

步骤:

检查虚拟机版本(java -version)

找出目标Java应用的进程ID(jps)

使用jstack命令制作线程Dump • Linux环境下使用kill命令制作线程Dump

使用jmap命令制作堆Dump
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: