本文使用jstat命令工具~

jstat简介

jstat (Java Virtual Machine Statistics Monitoring Tool) 是一个可以用于观察Java应用程序运行时信息的工具,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。

jstat基本语法

使用jstat -help查看jstat基本语法以及基本的参数说明等~

[root@dev18 ~]# jstat -help

Usage: jstat -help|-options

jstat - [-t] [-h] [ []]

Definitions:

An option reported by the -options option

Virtual Machine Identifier. A vmid takes the following form:

[@[:]]

Where is the local vm identifier for the target

Java virtual machine, typically a process id; is

the name of the host running the target Java virtual machine;

and is the port number for the rmiregistry on the

target host. See the jvmstat documentation for a more complete

description of the Virtual Machine Identifier.

Number of samples between header lines.

Sampling interval. The following forms are allowed:

["ms"|"s"]

Where is an integer and the suffix specifies the units as

milliseconds("ms") or seconds("s"). The default units are "ms".

Number of samples to take before terminating.

-J Pass directly to the runtime system.

[root@dev18 ~]#

jstat可选项及其说明

使用jstat -options可以查看可使用的选择项,如-class,-compiler等

[root@dev18 ~]# jstat -options

-class

-compiler

-gc

-gccapacity

-gccause

-gcnew

-gcnewcapacity

-gcold

-gcoldcapacity

-gcpermcapacity

-gcutil

-printcompilation

[root@dev18 ~]#

options说明~

-class 显示class loader的信息 ,例如当前总共加载了多少个类

-compile 显示HotSpot Just-in-Time compiler的信息

-gc 显示jdk gc时heap信息

-gccapacity 显示不同的generations相应的heap容量情况

-gccause 显示gc的情况,(同-gcutil)和引起gc的事件

-gcnew 显示gc时,新生代的情况

-gcnewcapacity 显示gc时,新生代heap容量

-gcold 显示gc时,老年区的情况

-gcoldcapacity 显示gc时,老年区heap容量

-gcpermcapacity 显示gc时,permanent区heap容量

-gcutil 显示垃圾收集信息

-printcompilation 输出JIT编译的方法信息

-gc综合了-gcnew、-gcold的输出;

-gccapacity综合了-gcnewcapacity、-gcoldcapacity、-gcpermcapacity的输出

jstat示例

显示Java进程的ClassLoader信息

输出Java进程(PID为12905)的Class Loader信息,每隔2秒执行一下,一共输出5次~

[root@dev18 ~]# jstat -class 12905 2000 5

Loaded Bytes Unloaded Bytes Time

1515 2875.1 0 0.0 0.57

1515 2875.1 0 0.0 0.57

1515 2875.1 0 0.0 0.57

1515 2875.1 0 0.0 0.57

1515 2875.1 0 0.0 0.57

[root@dev18 ~]#

其中,Loaded表示载入了类的数量,Bytes表示载入类的合计大小。

显示JVM gc信息

如下示例说明

[root@dev18 ~]# jstat -gc 12905 2000 5

S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT

512.0 512.0 0.0 64.0 14848.0 6236.9 40448.0 3532.2 21504.0 8729.3 91 0.172 0 0.000 0.172

512.0 512.0 0.0 64.0 14848.0 6236.9 40448.0 3532.2 21504.0 8729.3 91 0.172 0 0.000 0.172

512.0 512.0 0.0 64.0 14848.0 6236.9 40448.0 3532.2 21504.0 8729.3 91 0.172 0 0.000 0.172

512.0 512.0 0.0 64.0 14848.0 6236.9 40448.0 3532.2 21504.0 8729.3 91 0.172 0 0.000 0.172

512.0 512.0 0.0 64.0 14848.0 6236.9 40448.0 3532.2 21504.0 8729.3 91 0.172 0 0.000 0.172

[root@dev18 ~]#

参数说明:

S0C 当前survivor space 0 的总容量 (KB).

S1C 当前survivor space 1 的总容量 (KB).

S0U 当前survivor space 0 已使用的容量 (KB).

S1U 当前survivor space 1 已使用的容量 (KB).

EC 当前 eden space 总容量 (KB).

EU 当前eden space已经使用的容量 (KB).

OC 当前 old space 总容量 (KB).

OU 当前old space 已使用容量(KB).

PC 当前 permanent space 总容量(KB).

PU 当前 permanent space 已使用容量 (KB).

YGC 从应用启动时到现在,年轻代young generation 发生GC Events的总次数.

YGCT 从应用启动时到现在, 年轻代Young generation 垃圾回收的总耗时.

FGC 从应用启动时到现在, full GC事件总次数.

FGCT 从应用启动时到现在, Full sc总耗时.

GCT 从应用启动时到现在, 垃圾回收总时间. GCT=YGCT+FGCT

查看JIT编译的信息

[root@dev18 ~]# jstat -compiler 12905

Compiled Failed Invalid Time FailedType FailedMethod

263 0 0 2.92 0

显示垃圾收集信息

如:

[root@dev18 ~]# jstat -gcutil 12905

S0 S1 E O P YGC YGCT FGC FGCT GCT

0.00 12.50 48.01 8.73 40.59 91 0.172 0 0.000 0.172

[root@dev18 ~]#

[root@dev18 ~]# jstat -gcnew 12905

S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT

512.0 512.0 0.0 64.0 1 15 512.0 14848.0 7128.3 91 0.172

[root@dev18 ~]#

root@dev18 ~]# jstat -gcold 12905

PC PU OC OU YGC FGC FGCT GCT

21504.0 8729.3 40448.0 3532.2 91 0 0.000 0.172

[root@dev18 ~]#

还有很多示例,这里就不一一列举了~

java gc检测工具_Java自带的性能监测工具之jstat相关推荐

  1. java性能检测工具_Java自带的性能监测工具之jmap

    本文继续介绍Java自带的性能监测工具,本文使用jmap工具来玩~ jmap (Java Memory Map) 命令可以生成Java应用程序的堆快照和对象统计信息,对生成的堆快照进行分析,可以分析堆 ...

  2. Java自带的性能监测工具之jstack

    2019独角兽企业重金招聘Python工程师标准>>> 本文继续介绍Java自带的性能监测工具,本文使用jstack (Java Stack Trace)工具来玩~ 使用jstack ...

  3. java 自带thread分析工具_java自带的jvm分析工具

    这段时间觉得很有必要对java的内存分析工具进行熟悉,这样以后出现机器负载较高,或者反应很慢的时候,我就可以查找原因了.上网搜了搜,发现下面这些是比较常用的,然后我在机器上试试了,把结果也贴出来哈. ...

  4. Java自带的性能监测工具之jinfo

    2019独角兽企业重金招聘Python工程师标准>>> 本文使用jinfo命令工具~ jinfo用于查看运行中的java程序的参数,同时也支持在运行时修改部分参数~ 参数包括Java ...

  5. 使用vs自带的性能诊断工具

    visual studio是个强大的集成开发环境,内置了程序性能诊断工具.下面通过两段代码进行介绍. static void Main( string[] args){Test1();Test2(); ...

  6. Linux 性能监测工具总结

    前言: Linux系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来判断究竟是哪一部分(内存.CPU.硬盘--)出了问题.在Linux系统中,所有的运行参数保存在虚拟目录/ ...

  7. Linux 性能监测工具

    Linux系统出现问题时,我们不仅需要查看系统日志信息,而且还要使用大量的性能监测工具来判断究竟是哪一部分(内存.CPU.硬盘--)出了问题.在Linux系统中,所有的运行参数保存在虚拟目录/proc ...

  8. Linux性能监测工具Nmon介绍及其使用

    1 NMON介绍 Nmon由 IBM 开发并已开源 (Nmon for linux 版本已经在 2009 年 7 月 27 日开放源码 ) ,是收集 AIX 或 Linux 主机的性能数据并分析的工具 ...

  9. 十三个强大的Linux性能监测工具

    Linux系统下,大多数的性能监测工具保存在/proc目录下.这里我们将Linux AS 和 SUSE LINUX EnterpriseServer中的命令行及图形方式下的性能监测工具做概括性介绍.这 ...

最新文章

  1. WCF 入门(23,24)
  2. how to attach source code of Spark
  3. MapReduce:通过数据密集型文本处理
  4. S2SH新手框架结构的准备工作只需要导入这些文件
  5. 安装jdk-linux-i586.rpm.bin
  6. 215.数组中第的K个最大元素(力扣leetcode) 博主可答疑该问题
  7. 记一次YUV图像分析(二)
  8. Java:轻松一刻/程序员才懂的幽默
  9. Hadoop十年解读与发展预测
  10. 计算机bios设置论文,玩转电脑必看知识——各种BIOS设置详解 的更多相关文章
  11. 关于 SAP ABAP 报表的多语言显示问题试读版
  12. JAVA基础编程——IO编程
  13. 关于机器人状态估计(10)-VSLAM与VIO的3D建图,重定位与世界观综述
  14. dpdk pmd驱动初始化
  15. IPFS(三)源码解读之-add
  16. java-实现桌面壁纸自动切换(有界面,可还以自己设置时间的那种哦)
  17. 车间数字孪生解决方案(二)
  18. html网页添加友链,添加友情链接网站的3个注意事项
  19. EMC实验实战案例-ESD静电实验
  20. python中的框架、库、包、模块都是什么意思_【扫盲】模块 库 框架 包

热门文章

  1. asp.net中注册脚本的两个方法
  2. 终于实现不同站点间list共享了!哈哈
  3. spark代码中添加logger_JAVA代码如何设置SPARK的日志打印级别
  4. H264/H265/YUV码流分析工具推荐(一)
  5. RTMP 协议包头参考
  6. Mac下docker安装kali/ubuntu14.04
  7. Android应用开发:Dialog使用及示例
  8. go语言学习之helloword
  9. Diskgenius硬盘处理软件
  10. 目标检测相关概念:IOU,precision, recall, AP, mAP