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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java命令学习系列(零)——常见命令及Java Dump介绍相关的知识,希望对你有一定的参考价值。

一、常用命令:

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

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

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

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

jstat:性能监控工具。

jhat:内存分析工具。

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

jvisualvm:功能强大的控制台。

二、认识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

from: https://www.hollischuang.com/archives/308

以上是关于Java命令学习系列(零)——常见命令及Java Dump介绍的主要内容,如果未能解决你的问题,请参考以下文章

JAVA命令学习系列 ---- jmap

Java命令学习系列——Jmap

Java零基础_零基础学Java必备的学习笔记开发环境搭建-常见DOS命令

JVM 调优 - jmap

每日学Java系列-Java零基础学习笔记常用的DOS命令(续)

每日学Java系列-Java零基础学习笔记开发第一个Java程序:HelloWorld