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

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

  1. Java命令学习系列

    Java命令学习系列(七)--javap Java命令学习系列(六)--jinfo Java命令学习系列(五)--jhat Java命令学习系列(四)--jstat Java命令学习系列(三)--Jm ...

  2. Java命令学习系列(三)——Jmap

    转载自 Java命令学习系列(三)--Jmap jmap是JDK自带的工具软件,主要用于打印指定Java进程(或核心文件.远程调试服务器)的共享对象内存映射或堆内存细节.可以使用jmap生成Heap ...

  3. Java命令学习系列(二)——Jstack

    转载自 Java命令学习系列(二)--Jstack jstack是java虚拟机自带的一种堆栈跟踪工具. 功能 jstack用于生成java虚拟机当前时刻的线程快照.线程快照是当前java虚拟机内每一 ...

  4. Java命令学习系列(四)——jstat

    转载自 Java命令学习系列(四)--jstat jstat(JVM Statistics Monitoring Tool)是用于监控虚拟机各种运行状态信息的命令行工具.他可以显示本地或远程虚拟机进程 ...

  5. [初级]Java命令学习系列(七)——javap

    转载自 [初级]Java命令学习系列(七)--javap javap是jdk自带的一个工具,可以对代码反编译,也可以查看java编译器生成的字节码. 一般情况下,很少有人使用javap对class文件 ...

  6. [初级]Java命令学习系列(六)——jinfo

    转载自 [初级]Java命令学习系列(六)--jinfo jinfo可以输出java进程.core文件或远程debug服务器的配置信息.这些配置信息包括JAVA系统参数及命令行参数,如果进程运行在64 ...

  7. [中级]Java命令学习系列(五)——jhat

    转载自 [中级]Java命令学习系列(五)--jhat jhat(Java Heap Analysis Tool),是一个用来分析java的堆情况的命令.之前的文章讲到过,使用jmap可以生成Java ...

  8. Java命令学习系列(一)——Jps

    转载自 Java命令学习系列(一)--Jps jps位于jdk的bin目录下,其作用是显示当前系统的java进程情况,及其id号. jps相当于Solaris进程工具ps.不象"pgrep ...

  9. Linux每日一命令学习系列总结

    Linux每日一命令学习系列 这里是罗列出最常用的命令组合,而不是一个个详细介绍每个参数的用法,适合当你面对linux的终端的时候,知道有哪些命令,可是不知道加啥组合参数有啥效果的时候使用. 具体的可 ...

最新文章

  1. margin和padding
  2. hive 在kettle 作业return code 2 的问题 Unexpected exception: Unexpected exception: Unexpected exception:
  3. Linux下关机、重启
  4. 运维岗位技能风向标!
  5. 求中位数中回文数之和C语言,一些算法题及答案
  6. oracle基本笔记整理及案例分析2
  7. 实现输入框小数多 自动进位展示,编辑时实际值不变
  8. csdn飞鸽传书 打了七天七夜
  9. 数据科学 IPython 笔记本 7.14 处理时间序列
  10. 数据库工作笔记009---Centos中导出mysql数据库
  11. 计算机专业简述,简述计算机专业毕业论文完整版.doc
  12. fastText分类器
  13. 数乌龟(母牛,兔子....)[打表法]
  14. ABB变频器通过labview和上位机modbus通讯
  15. 论文查重报告橙色和红色是什么意思?
  16. 零知识证明java实现
  17. 商用计算机使用温度,电脑一般的使用温度为?
  18. CentOS命令之一
  19. 产品经理需要具备的知识技能汇总
  20. css3的弹性盒子模型,css3弹性盒子模型——回顾。

热门文章

  1. C#颜色和名称样式对照表【转载】
  2. oracleI基础入门(8)--table--MINUS
  3. async / await对异步的处理
  4. Vue学习笔记(二)—— vue项目中使用axios
  5. Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)...
  6. Thread线程类及多线程
  7. Java使用原子类进行多线程的 i++ 操作示例
  8. tomcat启动报:No Spring WebApplicationInitializer types detected on classpath
  9. SQL SERVER学习笔记(二)数据库管理
  10. 怎样的项目才算是一个成功的项目 于病视神,未有形而除之