【读书会第十二期】《深入理解Java虚拟机》 第3章 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
- 点赞
- 收藏
- 关注作者
评论(0)