进程状况工具:jps

jps(JVM Process Status Tool)

作用

  • 用于虚拟机中正在运行的所有进程。
  • 显示虚拟机执行的主类名称以及这些进程的本地虚拟机唯一ID。
  • 可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,参数hostid为RMI注册表中注册的主机名

特点

使用频率最高的命令工具,需要通过它来查询进程的ID,从而进行下一步监控。

统计信息监视工具:jstat

jstat(JVM Statistics Monitoring Tool)

作用

  • 用于监视虚拟机各种运行状态信息,可以显式本地或远程虚拟机进程中的类加载、内存、垃圾收集、即时编译等运行时数据。
  • 可以显示堆内各个分区的使用率。

Java配置信息工具:jinfo

jinfo(Configuration Info for Java)

作用

  • 实时查看和调整虚拟机各项参数。
  • 如果想知道未被显式指定的参数的系统默认值,可以通过jinfo的-flag查询。
  • 如果想把虚拟机进程的System.getProperties()的内容打印出来,可以通过-sysprops。
  • 具有运行期修改部分参数值的能力。

Java内存映像工具:jmap

jmap(Memory Map for Java)

作用

  • 用于生成堆转储快照。
  • 还可以查询finalize执行队列、Java堆和方法区的详细信息。

堆转储快照分析工具:jhat

jhat(JVM Heap Analysis Tool)

作用

  • 与jmap搭配使用,用于分析jmap生成的堆转储快照。
  • 内置web服务器,可以用过浏览器查看结果。

特点

一般人不会直接使用jhat来分析快照文件,主要原因:

  • 不会在部署应用程序的服务器上进行直接分析快照,因为这样会浪费本地的计算资源。
  • 该命令分析功能简陋,有其他更全面的工具。

Java堆栈跟踪工具:jstack

jstack(Stack Trace for Java)

作用

  • 用于生成虚拟机当前时刻的线程快照,线程快照就是当前运行的每一条线程执行方法的堆栈集合。
  • 可以用于定位线程出现长时间停顿的原因。

Java监视与管理控制台:JConsole

JConsole(Java Monitoring and Management Console)是一款基于JMX(Java Manage-ment Extensions)的可视化监视、管理工具。它的主要功能是通过JMX的MBean(Managed Bean)对系统进。
行信息收集和参数动态调整。

深入理解Java虚拟机(五)——JDK故障处理工具的更多相关文章

  1. 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具

    上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...

  2. 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具

    虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...

  3. 深入理解Java虚拟机之自己编译JDK

    题外话 最近在阅读<深入理解Java虚拟机>,其中有一小节实战是自己编译JDK,实际操作下来后遇到问题不少,为此特地记录,也希望可以给大家带来一些参考! 前置准备 平台及工具:Window ...

  4. 深入理解java虚拟机---java虚拟机内存管理(五)

    1.深入理解java虚拟机 总图: 1.线程共享区: 2.线程独占区: 1.程序计数器 理解为当前线程锁执行的字节码的行号指示器,程序计数器没有内存异常错误.

  5. 《深入理解Java虚拟机:JVM高级特性与最佳实践》【PDF】下载

    <深入理解Java虚拟机:JVM高级特性与最佳实践>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062566 内容简介 作为一位 ...

  6. JAVA好书之《深入理解Java虚拟机》

    最近打算做好现有工作的前提下,扎实一下自己专业的技术知识,并将相关的经典书也记录一下.今天看了一些JVM相关的知识,这里面的经典是<深入理解Java虚拟机>,适合有点基础又想深入理解其中原 ...

  7. 《深入理解 Java 虚拟机》笔记整理

    正文 一.Java 内存区域与内存溢出异常 1.运行时数据区域 程序计数器:当前线程所执行的字节码的行号指示器.线程私有. Java 虚拟机栈:Java 方法执行的内存模型.线程私有. 本地方法栈:N ...

  8. 《深入理解Java虚拟机》第 3 版里面到底多了哪些知识点?本文竟然得到了本书作者的认可!

    这是why的第 47 篇原创文章 荒腔走板 大家好,我是 why.老规矩,先是简短的荒腔走板聊聊生活. 上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星 ...

  9. 深入理解Java虚拟机第三版,总结笔记【随时更新】

    最近一直在看<深入理解Java虚拟机>第三版,无意中发现了第三版是最近才发行的,听说讲解的JDK版本升级,新增了近50%的内容. 这种神书,看懂了,看进去了,真的看的很快,并没有想象中的晦 ...

随机推荐

  1. a标签禁用

    a标签禁用可以使用CSS3的特性来控制 <a class="disabled">我是a标签</a> a.disabled { pointer-events: ...

  2. Gulp自动化构建的基本使用

    Study Notes 本博主会持续更新各种前端的技术,如果各位道友喜欢,可以关注.收藏.点赞下本博主的文章. Gulp 用自动化构建工具增强你的工作流程! gulp 将开发流程中让人痛苦或耗时的任务 ...

  3. JVM(一)-JVM入门

    JVM的定义: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 ...

  4. [原题复现]BJDCTF2020 WEB部分全部解

    简介  原题复现:https://gitee.com/xiaohua1998/BJDCTF2020_January  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学 ...

  5. phpstorm换行符设置LF

    git执行命令行 git config --global core.autocrlf true

  6. CorelDRAW中如何精确移动对象

    图形的变换操作包括改变图形的位置.大小.比例,旋转图形.镜像图形和倾斜图形,是在绘图编辑时经常使用的操作.使用"选择工具"选择对象之后,在对象上按下鼠标左键并拖动,即可任意移动对象 ...

  7. Happen-Before规则

  8. Python多线程join和setDaemon区别与用法

    一直没有太搞清楚join和setDaemon有什么区别,总是对于它们两个的概念很模糊,需要做个实验然后记录一下. 先说结论: join: 子线程合并到主线程上来的作用,就是当主线程中有子线程join的 ...

  9. 03生成微博授权URL接口

    1.创建apps/oauth模块进行oauth认证 '''2.1 在apps文件夹下新建应用: oauth''' cd syl/apps python ../manage.py startapp oa ...

  10. 精尽 MyBatis 源码分析 - SqlSession 会话与 SQL 执行入口

    该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...