`

Java虚拟机的统计监测工具:jstat

 
阅读更多

 

jstat:是JDK自带的虚拟机统计监测工具
在命令行中执行jstat

Usage: jstat -help|-options
       jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

Definitions:
  <option>      An option reported by the -options option
  <vmid>        Virtual Machine Identifier. A vmid takes the following form:
                     <lvmid>[@<hostname>[:<port>]]
                Where <lvmid> is the local vm identifier for the target
                Java virtual machine, typically a process id; <hostname> is
                the name of the host running the target Java virtual machine;
                and <port> 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.
  <lines>       Number of samples between header lines.
  <interval>    Sampling interval. The following forms are allowed:
                    <n>["ms"|"s"]
                Where <n> is an integer and the suffix specifies the units as
                milliseconds("ms") or seconds("s"). The default units are "ms".
  <count>       Number of samples to take before terminating.
  -J<flag>      Pass <flag> directly to the runtime system.

通过不的option可以查看JVM当前的各种信息,比如:类, 内存等
参数主要有:

  • class: 类装载器统计
  • compiler: HotSpot JVM实时编译统计
  • gc: 垃圾回收堆统计
  • gccapacity: 内存统计
  • gccause: 垃圾回收统计信息,包括回收事件
  • gcnew: 对象创建情况
  • gcnewcapacity: 对象创建内存情况
  • gcold: 老年代和永久代统计
  • gcoldcapacity: 老年代统计
  • gcpermcapacity: 永久代统计
  • gcutil: 垃圾收集的统计
  • printcompilation: HotSpot编译器的方法统计

执行: jstat -class 2000 结果如下

加载类的个数 加载类的大小 卸载类的个数 卸载类的大小 加载和卸载所占用的时间
Loaded Bytes Unloaded Bytes Time
23624 29798.8 1346 1225.8 218.34

执行: jstat -compiler 2000 结果如下

编译的个数 编译失败的个数 无效的编译个数 编译所用时间 最后一次编译失败的类型 最后一次编译失败的方法
Compiled Failed Invalid Time FailedType FailedMethod
1629 1 0 0.86 1 org/springframework/asm/ClassReader accept

执行: jstat -gc 2000 结果如下

Survivor 0的大小(KB) Survivor 1的大小(KB) Survivor 0使用大小 Survivor 1使用大小 Eden大小 Eden使用大小 Old大小 Old使用大小 Permanent大小

Permanent

使用大小

Young generation GC次数 Young generation GC时间 Full GC次数 Full GC时间 所有GC时间
S0C S1C S0U S1U EC EU OC OU PC PU YGC YGCT FGC FGCT GCT
14016.0 14016.0 2932.5 0.0 112192.0 96465.9 280212.0 227679.0 116480.0 116338.6 418 37.823 34 59.928 97.751

执行: jstat -gccapacity 2000 结果如下

新生代最小 新生代最大 当前新生代(NGC=S0C+S1C+EC) Survivor 0大小 Survivor 1大小 Eden大小 老年代最小 老年代最大 老年代当前大小 老年代当前容量 永久代最小 永久代最大 当前永久代大小 永久代容量 Young GC次数 Full GC次数
NGCMN NGCMX NGC S0C S1C EC OGCMN OGCMX OGC OC PGCMN PGCMX PGC PC YGC FGC
13632.0 174720.0 140224.0 14016.0 14016.0 112192.0 27328.0 349568.0 280212.0 280212.0 12288.0 262144.0 116480.0 116480.0 419 34

执行: jstat -gccause 2000 结果如下

Survivor 0使用率 Survivor 1使用率 Eden使用率 Old使用率 Permanent使用率 YoungGC次数 YoungGC时间 FullGC次数 FullGC时间 GC总时间 上一次GC原因 当前GC原因
S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
0.00 21.85 20.68 81.25 99.88 419 37.836 34 59.928 97.764 unknown GCCause No GC

执行: jstat -printcompilation 2000 结果如下

编译次数 方法的字节码的字节数 编译类型 编译方法
Compiled Size Type Method
13575 17 1 org/eclipse/swt/widgets/Caret hasFocus
分享到:
评论

相关推荐

    Java2语言命令详解

    9. **jstat**:Java虚拟机统计监测工具 `jstat`用于收集JVM的运行时统计信息,包括垃圾收集、类装载、编译器等。例如,`jstat -gc &lt;pid&gt; 1000 5`会每秒收集一次GC信息,共收集5次。 10. **jinfo**:配置信息工具 ...

    查看虚拟机状态常用命令

    `jstat` 是一个用于收集有关JVM运行时统计数据的工具,它可以直接从正在运行的Java应用程序中获取性能数据,无需任何额外的代码或探针。`jstat` 的主要用途是监控JVM的GC(Garbage Collection,垃圾回收)行为。 - ...

    Linux下启动JAVA

    为了监控Java应用的性能,可以使用`jps`(Java进程状态)列出运行中的Java进程,`jstat`(JVM统计监测工具)查看JVM的统计信息,`jmap`(内存映射工具)生成堆转储,以及`jhat`(堆分析工具)分析堆转储。...

    jdk_jdk_

    - `jstat`:Java统计监测工具,用于收集JVM的性能数据。 - `jinfo`:配置信息工具,显示和修改Java进程的配置信息。 - `jmap`:内存映射工具,用于生成堆转储文件或查看内存映射情况。 - `jhat`:堆分析工具,与`...

    JVM性能监测及调优实战

    JDK 工具之 jstat 命令可以监测 Java 应用程序的实时运行情况,包括堆内存信息以及垃圾回收信息。 jstat 命令可以查看一些关键参数信息,例如-class、-compiler、-gc、-gccapacity、-gcmetacapacity 等。通过 ...

    Java开发常用指令全集.zip

    6. **jstat**:JVM统计监测工具,可以收集JVM的各种性能数据,如垃圾收集、内存使用等。 7. **jinfo**:提供配置JVM参数的实时查看和修改功能。 8. **jmap**:用于生成堆转储文件,帮助分析内存泄漏等问题。 9. *...

    JVM内存结构

    - **jstat**:JVM统计监测工具,可以实时监控JVM的各种运行状态,包括垃圾收集、类加载、线程、编译器等信息。例如,`jstat -gc`可以查看垃圾回收的状态,`jstat -class`可以了解类装载情况。 理解并熟练运用这些...

    JAVA-JVM参数讲解

    #### 二、JSTAT:查看 JVM 统计信息 - **概述**:`jstat`(JVM Statistics Monitoring Tool)是一个命令行工具,用于监视JVM的各种运行状态信息,如类装载、内存、垃圾收集、JIT编译等。它是运行期间定位虚拟机性能...

    JAVA高级知识,JVM篇

    JVM(Java Virtual Machine,Java虚拟机)作为Java程序的运行环境,其内存管理机制是理解JVM的关键。JVM内存主要分为以下几个部分: 1. **程序计数器(Program Counter Register)**: - **作用**:记录当前线程所...

    tomcat 监控工具

    JVMStat是Java虚拟机的一种性能监控工具,它可以收集和显示关于JVM的内存使用、垃圾收集、线程活动等数据。在命令行中,可以使用`jstat`命令对JVM进行监控。 5. **第三方工具**: - **New Relic**:提供详细的性能...

    Linux jdk1.8.0_171

    以及其他诊断和管理工具,如`jps`(Java进程查看器)、`jstat`(Java统计监测工具)等。 7. **运行时环境**: JDK 1.8.0_171也提供了一个Java运行时环境(JRE),它包含执行Java应用程序所需的组件,包括Java虚拟机...

    java监控系统链接和内存使用情况

    首先,Java应用程序依赖于JVM(Java虚拟机)来执行代码。JVM提供了一个内存模型,其中包括了堆内存、栈内存、方法区、本地方法栈以及程序计数器。了解这些区域的工作原理是理解内存使用的关键。 1. 堆内存:这是...

    jps_stat:Bash脚本,监视当前linux系统上运行的所有Java程序的current_heap_memory,max_heap_till_now,current_ram,max_ram_used,current_cpu_by_jvm详细信息

    它是Java Virtual Machine Process Status Tool的缩写,是Java开发工具包(JDK)的一部分,用于显示Java虚拟机实例的进程ID。通过`jps`,我们可以获取到系统中运行的Java应用程序的基本信息,如主类名、进程ID等。 ...

    jvm常用命令工具

    Java虚拟机(JVM)提供了一系列内置的监控和诊断工具,可以帮助开发者和运维人员高效地获取和分析这些信息。本篇文章将详细介绍以下几个核心的JVM命令工具及其使用方法: 1. **jps** - 显示系统中所有HotSpot虚拟机...

    VisualVM入门指南 使用说明 新手上路

    它集成了多种原本独立存在的命令行工具,如`jstat`, `JConsole`, `jstack`, `jmap`, 和 `jinfo`,并通过一个统一的图形用户界面(GUI)提供了更加直观的使用体验。 - **核心功能**: - **监视**:监控Java应用程序...

    以线上实例来看,内存泄漏的图文解决方案.docx

    3. **使用工具辅助**:利用AOP等技术监测内存使用情况,及时发现问题。 #### 六、总结 通过本案例的学习,我们可以了解到,内存泄漏的排查并非一蹴而就的过程,而是需要综合运用多种工具和技术,逐步逼近问题本质...

    Java垃圾收集必备手册

    Java语言的垃圾收集机制是由JVM(Java虚拟机)来实现的。在JVM中,垃圾收集器(Garbage Collector,简称GC)会追踪所有活跃对象(正在使用中的对象),并将剩余的对象视为垃圾(即不可达对象),通过一系列算法来...

    性能学习报告

    **jstat**是Java虚拟机(JVM)自带的一个命令行工具,用于监控和管理HotSpot JVM。它可以通过不同的参数获取JVM的各种性能指标。 ##### 1. jstat命令详解 - `jstat -gcutil 进程ID 间隔时间` - `-gcutil`:查看GC...

Global site tag (gtag.js) - Google Analytics