JVM性能监控与故障处理工具

jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录。便于之后查阅

1.jps 虚拟机进程工具 

类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功能

jps -l    显示虚拟机进程id以及进程主类

jps -q  只显示进程id,不显示主类名称

jps -m  显示进程id以及传递给main的参数

jps -v 输出虚拟机进程启动时的jvm参数

2.jstat 虚拟机统计信息监视工具

该工具是用于监视虚拟机各种运行状态信息的命令行工具  命令格式为   jstat [option vmid [interval[s|ms] [count]]]

intervals 和 count代表查询间隔和次数,如果省略这两个参数,那么查询制进行一次。例如,如果需要每250ms查询一次进程2764的垃圾收集情况,一共查询20次,那么命令如下

jsata -gc 2764 250 20

下面我们来看一下option都包含了那些可查询的内容

-class  监视类装载卸载数量,总空间以及耗费时间

-gc      监视java堆的状况

-gccapacity   与gc类似主要关注java堆各区域使用到的最大最小控件

-gcutil    与gc类似,主要关注以使用百分比

-gccause  与gc类似,会额外速出导致上一次gc工作的原因

-gcnew[capcity]   新生代gc状况

-gcold[capcity]    老年代gc状况

-compiler  编译过的方法和耗时

-printcompilation 输出已经被jit编译的方法

查询结果示例

S0C        S1C    S0U  S1U   EC    EU   OC    OU    MC    MU  CCSU YGC YGCT  FGC  FGCT  GCT

16896.0  14848.0  .....

C表示总大小  U表示以使用大小

E表示新生代区 Eden

S表示两个Survivor0和Survivor1

O表示老年代

M表示方法区

CCS表示压缩类

YGC 新生代回收次数

YGCT新生代回收时间

FGC 老年代回收次数

FGCT 老年代回收总耗时

GCT 垃圾回收总耗时

3.jinfo 实时的查看和调整虚拟机各项参数

可以使用-flag  name=value来修改一部分运行期可写的虚拟机参数值

可以使用-flag name pid来查看指定的参数值。也可以jinfo pid来查看全部

4.jmap java内存映像工具

用于生成堆存储快照,主要功能有以下

-dump  生成堆存储快照  格式为-dump:[live, ]format=b,file=<filename> live子参数表示是否只导出存活对象

-finalizerinfo  显示等待Finalizer线程执行finalize方法的对象

-heap 显示堆的详细信息

-histo 显示堆的对象统计信息

-permstat 显示永久带内存状态

-F   强制生成堆存储快照

5.jhat 虚拟机堆转储快照分析工具

与jmap 搭配使用,用来分析jmap生成的堆快照。文章作者不推荐

6.jstack java堆栈跟踪工具

用于生成当前时刻的线程快照。即当前虚拟机内每一条线程正在执行的方法堆栈的集合。生成线程快照哦啊的主要摸底是定位线程出现长时间停顿的原因,如死锁和死循环等

-F pid 强制输出线程堆栈

-l  除堆栈外,显示关于锁的附加信息

-m 如果调用本地方法时还可以显示本地方法的堆栈。

JDK的可视化工具JConsole和VisualVM 由于可视化了比较直观不再记录

时间: 2025-01-07 02:03:05

JVM性能监控与故障处理工具的相关文章

第八章 JVM性能监控与故障处理工具(2)

注意:该篇博客主要记录自<深入理解java虚拟机(第二版)> 说明:关于命令行的JVM性能监控与故障处理工具见<第七章 JVM性能监控与故障处理工具(1)> 1.图像化的故障处理工具 Jconsole visualVM 2.Jconsole 进入"E:\Java\jdk1.6\bin",双击"jconsole.exe",弹出如下框: 说明:这里列出了所有的JVM进程,一个Jconsole进程,一个eclipse(PID:4684),这相当于j

【008】【JVM——性能监控与故障处理工具】

 JVM--性能监控与故障处理工具 HotSpot虚拟机提供了许多虚拟机运行时调试工具,方便开发人员在应用运行时对虚拟机和应用性能进行监控和优化. jps:JVM Process Status Tool 显示指定系统内所有的HotSpot 虚拟机进程.并显示虚拟机执行主类(Main Class, main()函数所在的类)的名称,以及这些进程的本地虚拟机的唯一ID ( LVMID, Local Virtual Machine Identifier) . jps 命令格式:jps [ opti

第七章 JVM性能监控与故障处理工具(1)

1.定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所有JVM进程 jstat:收集JVM各方面的运行数据 jinfo:显示JVM配置信息 jmap:形成堆转储快照(heapdump文件) jhat:分析heapdump文件 jstack:显示JVM的线程快照 jconsole visualVM 说明:后边两种是具有图形化界面的. 2.jps(是其他所

JVM(4) 虚拟机性能监控与故障处理工具

1. Sun JDK 监控和故障处理工具 1)jps:JVM process Status Tool,显示指定系统内所有的HotSpot虚拟机进程.可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在的类) 的名称,以及这些进程的本地虚拟机的唯一ID 2)jstat:JVM Statistics Monitoring Tool,用于收集HotSpot虚拟机各方面的运行数据.是用于监视虚拟机各种运行状态信息的命令行工具.它可以显示本地或远程(需要远程 主机

004 虚拟机性能监控与故障处理工具

工具位于 JDK下bin中 1.JDK的命令行工具 监控和故障处理工具 ① jps:虚拟机进程状况工具 jsp命令格式: jps[options][hostid] jps可以通过RMI协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI注册表中注册的主机名.jps的其他常用选项见下表. ② jstat:虚拟机统计信息监视工具 jstat(JVM Statistics Monitoring Tool)是用于监视虚拟机各种运行状态信息的命令行工具.它可以显示本地或者远程虚拟机进程中的类

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

上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念,才能继续往下学习. 本节学习重点 本节主要是针对JVM内存管理机制的一些监控手段,例如堆情况使用的监控,线程栈情况的监控等.有几句废话还是有必要在这里强调的,工具是人类思维的工具,例如Java语言是人类满足需求的一种技术手段,而监控工具只是维护程序应用的一种手段.所以,思考的逻辑思维要清晰,是问题引导工具,

虚拟机性能监控与故障处理工具

Sun SDK 监控和故障处理工具 jps 虚拟机进程状况工具 格式 jps [option] [hostid] 本地虚拟机唯一ID: local virtual machine identifier,LVMID 进程ID:process identifier jps可以通过RMI 协议查询开启了RMI服务的远程虚拟机进程状态,hostid为RMI 注册表中的注册的主机名. 主要参数 -q                                                      

【JVM.3】虚拟机性能监控与故障处理工具

一.概述 经过前面两章对于虚拟机内存分配与回收技术各方面的介绍,相信读者已经建立了一套比较完整的理论基础.理论总是作为指导实践的工具,能把这些执行应用到实际工作中才是我们的最终目的.接下来我们会从实践的角度去了解虚拟机内存管理的世界. 二.JDK的命令行工具 Java开发人员肯定都知道JDK的bin目录中的"java.exe"."javac.exe"这两个命令行工具,对并非所有程序员都了解JDK的bin目录之中其他命令行程序的作用.每逢JDK更新版本时,bin目录下

Java虚拟机8:虚拟机性能监控与故障处理工具

http://www.cnblogs.com/xrq730/p/4842483.html 前言 定位系统问题的时候,知识.经验是基础,数据是依据,工具是运用知识处理数据的手段.这里说的数据包括:运行日志.异常堆栈.GC日志.线程快照.堆转储快照等.经常使用适当的虚拟机监控和分析的工具可以加快分析数据.定位解决问题的速度. jps:虚拟机进程状况工具 首先约定一下运行的代码都是以下这段 1 public class TestMain 2 { 3 public static void main(St