摘要:在的命令行中,一般开发人员最耳熟能详的肯定就是等常用命令,不过在下还有许多其他的命令行工具,它们被用来监测运行时的状态,下面我们来详细解读一下几个常用的工具以及如何使用。
在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监测JVM运行时的状态,下面我们来详细解读一下几个常用的工具以及如何使用。
jhatjhat(JVM Heap Analysis Tool)命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器中查看。在此要注意,一般不会直接在服务器上进行分析,因为jhat是一个耗时并且耗费硬件资源的过程,一般把服务器生成的dump文件复制到本地或其他机器上进行分析。
命令格式jhat [dumpfile]示例
$ jhat -J-Xmx512m dump.hprof eading from dump.hprof... Dump file created Fri Mar 11 17:13:42 CST 2016 Snapshot read, resolving... Resolving 271678 objects... Chasing references, expect 54 dots...................................................... Eliminating duplicate references...................................................... Snapshot resolved. Started HTTP server on port 7000 Server is ready.
中间的-J-Xmx512m是在dump快照很大的情况下分配512M内存去启动HTTP服务器,运行完之后就可在浏览器打开Http://localhost:7000进行快照分析
堆快照分析主要在最后面的Heap Histogram里,里面根据class列出了dump的时候所有存活对象。
分析同样一个dump快照,MAT需要的额外内存比jhat要小的多的多,所以建议使用MAT来进行分析,当然也看个人偏好。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/76217.html
摘要:用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成线程快照的主要目的就是定位线程出现长时间停顿的原因,如线程死锁死循环请求外部资源导致的长时间等待等都是导致线程长时间停顿的常见原因。 在JDK的命令行中,一般开发人员最耳熟能详的肯定就是java,javac,javap等常用命令,不过在jdk/bin下还有许多其他的命令行工具,它们被用来监...
摘要:虚拟机性能监控与故障处理工具详解概述本文参考的是周志明的深入理解虚拟机第四章,为了整理思路,简单记录一下,方便后期查阅。虚拟机堆转储快照分析工具功能用于分析生成的。 虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 《深入理解Java虚拟机》 第四章 ,为了整理思路,简单记录一下,方便后期查阅。 JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的Vis...
摘要:概述是一个主要版本的发布这里介绍的是对的特性和增强的实现是的增强提案,包括增强建议和路线图流程规范请求,描述了针对平台的建议和最终规范主要变更统一模块化标准这是全新的编程组件模块,是可命名的可自描述的代码和数据集合。 概述 java9是一个主要版本的发布 这里介绍的是Oracle对JDK9的特性和增强的实现 JEP是JDK的增强提案,包括增强建议和路线图流程 JSR(Java规范请...
阅读 3404·2021-11-25 09:43
阅读 2580·2021-09-22 15:54
阅读 571·2019-08-30 15:55
阅读 941·2019-08-30 15:55
阅读 1978·2019-08-30 15:55
阅读 1723·2019-08-30 15:53
阅读 3446·2019-08-30 15:52
阅读 2024·2019-08-30 12:55