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 -flags 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 由于可视化了比较直观不再记录
jvm性能监控与故障处理工具的更多相关文章
- 第八章 JVM性能监控与故障处理工具(2)
注意:该篇博客主要记录自<深入理解java虚拟机(第二版)> 说明:关于命令行的JVM性能监控与故障处理工具见<第七章 JVM性能监控与故障处理工具(1)> 1.图像化的故障处 ...
- 第七章 JVM性能监控与故障处理工具(1)
1.定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所 ...
- 深入理解JVM(四)JVM性能监控与故障处理工具
4.2 JVM命令行工具 1.jps(JVM Process Status Tool):JVM进程查看工具,命令行进入到jdk的bin目录下,使用命令:jps -l/-q/-v/-m 2.jstat( ...
- 《深入理解Java虚拟机》(四)虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 详解 4.1 概述 本文参考的是周志明的 <深入理解Java虚拟机> 第四章 ,为了整理思路,简单记录一下,方便后期查阅. JDK本身提供了很多方便的JVM性 ...
- JYM虚拟机性能监控与故障处理工具
虚拟机性能监控与故障处理工具 一.jps:虚拟机进程状况工具 常用指令 二.jstat:虚拟机统计信息监视工具 常用指令 三.jinfo:配置信息工具 四.jmap:Java内存映像工具 常用指令 五 ...
- java虚拟机之性能监控与故障处理工具
sun jdk性能监控与故障处理工具 jps: 可以列出正在运行的虚拟机进程,并显示虚拟机执行主类名称以及这些进程的本地虚拟机唯一id. jstat: 用于监视虚拟机各种运行状态信息的命令航工具.它可 ...
- JVM(4) 虚拟机性能监控与故障处理工具
1. Sun JDK 监控和故障处理工具 1)jps:JVM process Status Tool,显示指定系统内所有的HotSpot虚拟机进程.可以列出正在运行的虚拟机进程,并显示虚拟机执行主类( ...
- 《深入理解Java虚拟机》虚拟机性能监控与故障处理工具
上节学习回顾 从课本章节划分,<垃圾收集器>和<内存分配策略>这两篇随笔同属一章节,主要是从理论+实验的手段来讲解JVM的内存处理机制.好让我们对JVM运行机制有一个良好的概念 ...
- 六、JVM — JDK 监控和故障处理工具
JDK 监控和故障处理工具总结 JDK 命令行工具 jps:查看所有 Java 进程 jstat: 监视虚拟机各种运行状态信息 jinfo: 实时地查看和调整虚拟机各项参数 jmap:生成堆转储快照 ...
随机推荐
- 使用eclipse+fiddler+微信web开发者工具调试本地微信页面
前面已经说了调试服务器上的微信页面,放链接:http://www.cnblogs.com/Gabriel-Wei/p/5977850.html 还有fiddler调试链接:http://www.cnb ...
- 使用微信web开发者工具调试微信企业号页面(前端页面,已发布在服务器上的)
前几天写了一篇使用fiddler调试微信端页面的,然后博友评论说使用fiddler太麻烦了,推荐使用微信web开发者工具调试微信页面,这两天弄着玩了一下,很强大.这篇文章只是做一个记录,方便自己以后使 ...
- ping命令执行过程详解
[TOC] ping命令执行过程详解 机器A ping 机器B 同一网段 ping通知系统建立一个固定格式的ICMP请求数据包 ICMP协议打包这个数据包和机器B的IP地址转交给IP协议层(一组后台运 ...
- ASP.NET MVC中的错误处理
ASP.NET MVC中的错误的错误处理跨越了两个主要领域:程序异常和路由异常的处理.前者是关于在控制器和视图中捕获错误的;而后者更多是有关重定向和HTTP错误的. 1.在WebConfig中把过滤器 ...
- 【转】算法杂货铺——k均值聚类(K-means)
k均值聚类(K-means) 4.1.摘要 在前面的文章中,介绍了三种常见的分类算法.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时 ...
- C#自定义工业控件开发
由于工作需要,调研过一段时间的工业控制方面的“组态软件”(SCADA)的开发,组态软件常用于自动化工业控制领域,其中包括实时数据采集.数据储存.设备控制和数据展现等功能.其中工控组件的界面展现的实现类 ...
- <转>SQL Server返回最后一个标识值的三个函数:IDENT_CURRENT、@@IDENTITY、SCOPE_IDENTITY
MSDN对官方解释:这三个函数都返回最后生成的标识值. 但是,上述每个函数中定义的“最后”的作用域和会话有所不同. 1.IDENT_CURRENT 返回为某个会话和当前作用域中的指定表生成的最新标识值 ...
- 第二十九篇:使用SOUI的SMCListView控件
列表控件是客户端应用最常用的控件之一.列表控件通常只负责显示数据,最多通知一下APP列表行的选中状态变化. 现在的UI经常要求程序猿在列表控件里不光显示内容,还要能和用户交互,显示动画等等,传统的列表 ...
- 移动端横屏(beta)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- lucene全文检索---打酱油的日子
检索内容,一般的程序员第一时间想到的是sql的like来做模糊查询,其实这样的搜索是比较耗时的.已经有lucene帮我们 封装好了,lucene采用的是分词检索等策略. 1.lucene中的类描述 I ...