您当前的位置: 首页 >  Java

小志的博客

暂无认证

  • 0浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

深入理解Java虚拟机——虚拟机统计信息监控工具(jstat)

小志的博客 发布时间:2020-06-18 16:19:28 ,浏览量:0

码字不易,转载标明出处

目录
    • 一、简介
    • 二、jstat格式及参数说明
    • 三、jstat执行样例
    • 四、jstat执行样例的监视参数与输出结果详解
    • 五、每间隔1秒打印一次jvm统计信息

一、简介

jstat(JVM Statistics Monitoring Tool) 是用于监视虚拟机各种运行状态信息的命令行工具。它可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据.

二、jstat格式及参数说明
  • 格式 jstat [options vmid [interval [s|ms] [count] ] ]

  • 格式的解释说明 参数interval 和count代表查询时间间隔和次数,如果省略这两个参数,说明只查询一次。 假设需要每250毫秒查询一次进程2764垃圾收集状况,一共查询20次,那命令应该是: jstat -gc 2764 250 20

  • 参数说明

选项作用-class监视类装载、卸载数量、总空间以及类装载所耗费的时间-gc监视java堆情况,包括Eden区、两个survivor区、老年代、永久代等的容量、已用空间、GC时间合计等信息-gccapacity监视内容与-gc相同,但是输出主要关注Java堆各个区域使用到的最大、最小空间-gcutil监视内容与-gc相同,但是输出主要关注已使用空间占总空间的百分比-gccause与-gcutil功能一样,但是会额外输出导致上一次GC产生的原因-gcnew监视新生代GC状况-gcnewcapacity监视内容与-gcnew基本相同,输出主要关注使用到的最大、最小空间-gcold监视老年代GC状况-gcoldcapacity监视内容与-gcold基本相同,输出主要关注使用到的最大、最小空间-gcpermcapacity输出永久代使用到的最大、最小空间-compiler输出JIT编译器编译过的方法、耗时等信息-printcompilation输出已经被JIT编译的方法 三、jstat执行样例

a)、定义一个测试类,并启动,如下代码:

package com.rf.designPatterns.structural;
import java.util.Scanner;
/**
 - @description:
 - @author: xiaozhi
 - @create: 2020-06-17 10:11
*/
public class Test {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        sc.next();
    }
}

b)、dos命令行执行jstat命令,监视参数与输出结果如下图: 在这里插入图片描述

四、jstat执行样例的监视参数与输出结果详解
  • 两个Survivor区(S0、S1,表示Survivor0、Survivor1)里面都是空的。
  • 新生代Eden区(E:表示Eden)使用了12.3%的空间。
  • 老年代(O:表示Old)使用了0%的空间。
  • 元空间(M:表示元空间,元空间的本质和永久代类似,最大的区别在于元空间并不在虚拟机中,而是使用本地内存,默认情况下,元空间的大小仅受本地内存限制)使用了17.21MB。
  • YGC表示Young GC 0次
  • YGCT表示Young GC Time 总耗时0秒
  • FGC表示Full GC 0次
  • FGCT表示Full GC Time 总耗时0秒
  • GCT 表示GC Time 所有GC总耗时0秒
五、每间隔1秒打印一次jvm统计信息

在这里插入图片描述参考:《深入理解java虚拟机》

关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0720s