【读书会第十二期】《深入理解Java虚拟机》 第3章 Java虚拟机性能监控和故障处理

举报
小浪 发表于 2022/05/06 11:33:38 2022/05/06
【摘要】 前置准备:     jps存放在JAVA_HOME/bin/jps,使用时为了方便需将JAVA_HOME/bin/加入到Path 。JPS:虚拟机进程状况工具是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。使用方法:在当前命令行下打jpsJStack:Java堆栈跟踪工具是JDK提供的一个可以生成Java虚拟机...

前置准备:

     jps存放在JAVA_HOME/bin/jps,使用时为了方便需将JAVA_HOME/bin/加入到Path 。

JPS:虚拟机进程状况工具

是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前java进程的一些简单情况。

使用方法:

在当前命令行下打jps

JStack:Java堆栈跟踪工具

是JDK提供的一个可以生成Java虚拟机当前时刻的线程快照信息的命令行工具。线程快照一般被称为threaddump或者javacore文件,是当前Java虚拟机中每个线程正在执行的Java线程、虚拟机内部线程和可选的本地方法堆栈帧的集合。对于每个方法栈帧,将会显示完整的类名、方法名、字节码索引(bytecode index,BCI)和行号。生成的线程快照可以用于定位线程出现长时间停顿的原因,比如:线程间死锁、死循环、请求外部资源被长时间挂起等等。

Jstat虚拟机统计信息监视工具

jstat(Java Virtual Machine Statistics Monitoring Tool)是JDK提供的一个可以监控Java虚拟机各种运行状态信息的命令行工具。它可以显示Java虚拟机中的类加载、内存、垃圾收集、即时编译等运行状态的信息。

JMap:Java 内存映像工具

JDK中提供的一个用来监视进程运行中的jvm物理内存的占用情况的工具。该进程内存内,所有对象的情况,例如产生了哪些对象,对象数量。当系统崩溃时,jmap 可以从core文件或进程中获得内存的具体匹配情况,包括Heap size, Perm size等。

酌情考虑:使用jmap会影响线上运行的应用,所以尽量不要在线上执行此命令。如果想dump堆信息,可以使用gcore命令,比jmap -dump快。

Jhat 虚拟机堆转储快照分析工具

分析java的堆情况的命令。是java虚拟机自带的一种虚拟机堆转储快照分析工具。

Jconsole:Java 监视与管理控制台

Visualvm: 多合一故障处理工具

监控

生成堆dump

插件推荐

VisUal gc

BTrace

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。