Java命令学习系列(零)——常见命令及Java Dump介绍

Java命令与JavaDump详解
本文介绍了JDK bin目录下的多个实用工具,如jps、jstack、jmap等,并详细解释了如何使用这些工具来生成JavaDump,包括线程Dump和堆Dump,帮助开发者进行故障排查和性能调优。

Java命令学习系列(零)——常见命令及Java Dump介绍

一、常用命令:

在JDK的bin目彔下,包含了java命令及其他实用工具。

jps:查看本机的Java中进程信息。

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

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

 jconsole:简易的可视化控制台。

 jvisualvm:功能强大的控制台。

 jstat:性能监控工具。

 jhat:内存分析工具。

二、认识Java Dump:

什么是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。

步骤:

  1. 检查虚拟机版本(java -version)
  2. 找出目标Java应用的进程ID(jps)
  3. 使用jstack命令制作线程Dump • Linux环境下使用kill命令制作线程Dump
  4. 使用jmap命令制作堆Dump

 

转载博客,以作后面学习使用,转载地址:http://www.hollischuang.com/archives/308

转载于:https://www.cnblogs.com/rainy-shurun/p/5015918.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值