jvm性能监控(2)–JVM的监控工具jstat
Jstat是JDK自带的一个轻量级工具,主要用JVM内建的指令对java应用程序的资源和性能进行实时的监控。
openjdk没有jstat,jps等命令解决办法
基本语法
jstat <option> [-t] [-h] <pid> <interval> <count>
参数解释:
- option 可以从下面参数中选择
- -class 显示ClassLoad的相关信息;
- -compiler 显示JIT编译的相关信息;
- -gc 显示和gc相关的堆信息;
- -gccapacity 显示各个代的容量以及使用情况;
- -gccause 显示垃圾回收的相关信息(通-gcutil),同时显示最后一次或当前正在发生的垃圾回收的诱因;
- -gcnew 显示新生代信息;
- -gcnewcapacity 显示新生代大小和使用情况;
- -gcold 显示老年代和永久代的信息;
- -gcoldcapacity 显示老年代的大小;
- -gcpermcapacity 显示永久代的大小;
- -gcutil 显示垃圾收集信息;
- -printcompilation输出JIT编译的方法信息;
- -t 可以在打印的列加上Timestamp列,用于显示系统运行的时间
- -h 可以在周期性数据数据的时候,可以在指定输出多少行以后输出一次表头
- interval 执行每次的间隔时间,单位为毫秒
- count 用于指定输出多少次记录,缺省则会一直打印
首先我们 使用linux命令 ps -ef|grep resin 查看我要监视进程的pid 23814

1、-class (jstat -class pid 1000 5 查看pid为23814的ClassLoad相关信息,每秒钟打印一次,总共打印5次)

- Loaded 加载类的数量
- Bytes 加载类合计大小
- Unloaded 卸载类的数量
- Bytes 卸载类合计大小
- Time 表示加载和卸载类总共的耗时
加载了9276个类,总大小为18045.9byte 卸载类0个,总大小为0byte,卸载和加载总耗时9.24ms
2、-compiler (Jstat -cpmpiler pid)

- Compiled 表示编译任务执行的次数
- Failed 表示编译失败的次数
- Invalid 表示编译不可用的次数
- Time 表示编译的总耗时
- FailedType 表示最后一次编译的类型
- FailedMethod 表示最后一次编译失败的类名和方法

3、-gc (jstat -gc pid 1000 5 )

4、堆内存统计 -gccapacity(jstat -gccapacity pid:显示各个代的容量的信息)

- NGCMN:新生代最小值(KB)
- NGVMX:新生代最大值(KB)
- NGC:当前新生代大小(KB)
- S0C:同上
- S1C:同上
- EC:同上
- OGCMN:老年代最小值(KB)
- OGCMX:老年代最大值(KB)
- OGC:当前老年代大小(KB)
- OC:同上
- PGCMN:永久代最小值(KB)
- PGCMX:永久代最大值(KB)
- PGC:当前永久代大小(KB)
- PC:同上
- YGC:同上
- FGC:同上
5、-gccause(jstat -gccause pid:显示最近一次GC的原因)

- LGCC:上一次GC的原因,是G1垃圾回收器回收
- GCC :当前GC的原因
jvm性能监控(2)–JVM的监控工具jstat的更多相关文章
- jvm性能监控(4)–JVM的监控工具Jconsole
下面主要说一下怎么JConsole远程连接springboot 项目 java \-Djava.rmi.server.hostname=192.131.149.42 \-Dcom.sun.manag ...
- jvm性能监控与故障处理工具
jdk为我们提供了一系列的jvm性能监控和故障处理工具,在这里根据学习进度进行整理记录.便于之后查阅 1.jps 虚拟机进程工具 类似于Linux系统中的ps命令,用于查看虚拟机进程,常用的有以下功 ...
- 第八章 JVM性能监控与故障处理工具(2)
注意:该篇博客主要记录自<深入理解java虚拟机(第二版)> 说明:关于命令行的JVM性能监控与故障处理工具见<第七章 JVM性能监控与故障处理工具(1)> 1.图像化的故障处 ...
- JVM性能监控
有时候我们会碰到下面这些问题: OutOfMemoryError,内存不足 内存泄露 线程死锁 锁争用(Lock Contention) Java进程消耗CPU过高 这些问题在日常开发中可能被很多人忽 ...
- 第七章 JVM性能监控与故障处理工具(1)
1.定位系统问题 依据 GC日志 堆转储快照(heapdump/hprof文件) 线程快照(threaddump/javacore文件) 运行日志 异常堆栈 分析依据的工具 jps:显示指定系统内的所 ...
- JVM性能监控与故障处理命令行工具
JDK命令行工具 Sun公司作为”礼物“赠送给JDK使用者的工具: 这些命令行工具大多是jdk/lib/tools.jar类库的一层薄包装,主要功能代码是在tools类库(不属于java的标准API) ...
- JVM性能监控与故障处理命令汇总(jps、jstat、jinfo、jmap、jhat、jstack)
给一个系统定位问题的时候,知识.经验是关键基础,数据是依据,工具才是运用知识处理数据的手段 使用适当的虚拟机监控和分析的工具可以加快我们分析数据.定位解决问题的速度,本文主要介绍了几款服 务器上常用的 ...
- jvm性能监控(3)-jdk自带工具 jps jstack jmap
一.概要: jps -l 查看现有的java进程 jps -l 显示所有正在运行的java进程id jstack 查看Java线程 jstack -l pid; 做thread dump ...
- 深入理解JVM(四)JVM性能监控与故障处理工具
4.2 JVM命令行工具 1.jps(JVM Process Status Tool):JVM进程查看工具,命令行进入到jdk的bin目录下,使用命令:jps -l/-q/-v/-m 2.jstat( ...
随机推荐
- nodejs回调大坑
最近看到nodejs,因为有一个处理里面有好几个异步操作,调入回调大坑,不禁觉得很恶心,真的很讨厌发明这种写法的人,简直反社会!!!遂转载一篇解坑的文章,原文地址:http://www.infoq.c ...
- [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (3/4)
安装p10404530_112030_Linux-x86-64_6of7.zip解压下的example. 修改软件路径,为dbhome_1. 安装好数据,则可以进行快照操作! 删除安装文件. 输入db ...
- RabbitMQ相关使用命令
启动:rabbitmq-server -detached 停止:rabbitmqctl stop 状态:rabbitmqctl status 查看所有用户rabbitmqctl list_users ...
- Postman初探
缘起 今天要测试一个新接口,返回值应该是现有6个接口返回值中data.CountNum之和.麻烦处有: 1.用户角色不同,接口返回值也有不同.因此要用到的接口很多. 2.要对所有接口的返回值求和,再与 ...
- cd 切换目录
1. 功能说明 cd是“change directory”中每个氮气的首字母缩写功能是重当前工作目录切换到指定的工作目录:cd是内建命令. 2. 语法格式 cd [option] [dir] cd ...
- 修改pom项目版本 jenkins 关联 shell命令
#获取pom文件内的项目版本 version=`awk '/<version>[^<]+<\/version>/{gsub(/<version>|<\/ ...
- POJ 3889 Fractal Streets(逼近模拟)
$ POJ~3889~Fractal~Streets $(模拟) $ solution: $ 这是一道淳朴的模拟题,最近发现这种题目总是可以用逼近法,就再来练练手吧. 首先对于每个编号我们可以用逼近法 ...
- 小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下 一道网上没啥题解的难题(至少我是这么觉得的)
小陈现有2个任务A,B要完成,每个任务分别有若干步骤如下:A=a1->a2->a3,B=b1->b2->b3->b4->b5.在任何时候,小陈只能专心做某个任务的一 ...
- Zball in Tina Town
Zball in Tina Town Accepts: 356 Submissions: 2463 Time Limit: 3000/1500 MS (Java/Others) Memory ...
- 元素隐藏visibility:hidden与元素消失display:none的区别
visibility属性用来确定元素是显示还是隐藏的,这用visibility="visible|hidden"来表示(visible表示显示,hidden表示隐藏). 当visi ...