JVM性能监控,故障处理工具:jstat虚拟机统计信息监视工具

jstat是用于监视虚拟机各种运行状态信息的命令行工具。他可以显示本地或者远程虚拟机进程中的类加载,内存,垃圾收集,即时编译等运行时数据。
实例代码:

public class ScannerTest {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String info = scanner.next();
    }
}

启动后,使用上篇等jps 命令查看当前进程,然后在使用jstat工具进行查看当前进程虚拟机统计的信息。

-class 监视类加载,卸载数量,总空间以及类装载所耗费的时间

jstat -class 737
在这里插入图片描述

-compiler 输出即时编译器编译过的方法,耗时等信息

jstat -compiler 737
在这里插入图片描述

-printcompilation 输出已经被即时编译的方法

jstat -printcompilation 737
在这里插入图片描述
上面的指令与gc 无关,下面我们看看gc有关的,比如新生代,老年代,永久代等堆内存等消耗情况,实例代码:

 * -Xms60m -Xmx60m -XX:SurvivorRatio=8
 */
public class GCTest {
    public static void main(String[] args) {
        ArrayList<byte[]> list = new ArrayList<>();

        for (int i = 0; i < 1000; i++) {
            byte[] arr = new byte[1024 * 100];//100KB
            list.add(arr);
            try {
                Thread.sleep(120);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

设置一下jvm参数,堆等最小值,和最大值,运行代码,还是上面的使用jps命令查看进程id然后在使用 jstat进行监控信息

-gc 监视堆状况,包括 Eden区,2个Survivor区,老年代,永久代等容量,已用空间,垃圾收集时间合计等信息

jstat -gc 840
在这里插入图片描述
jstat支持查询间隔,和次数我们来试试
jstat -gc 840 250 20

-gccapacity 监视内容和-gc一样,但主要输出主要关注堆各个区域使用到的最大,最小空间

jstat -gccapacity 863
jstat -gccapacity 863 250 10

在这里插入图片描述

-gcutil 与-gc基本相同,但关注与已使用空间占空间的百分比。

jstat -gcutil 880

在这里插入图片描述

-gccause 与-gcutil一样,但是会额外输出导致上一次垃圾收集产生的原因。

jstat -gccause 888

在这里插入图片描述

-gcnew 监视新生代垃圾收集状况

jstat -gcnew 888 250 10

-gcnewcapacity 与-gcnew基本相同,关注使用到到最大,最小空间

jstat -gcnewcapacity 888 250 20

-gcold 监视老年代垃圾收集状况

jstat -gcold 888

-gcoldcapacity 与-gcold基本相同,关注使用到到最大,最小空间

jstat -gcoldcapacity 888

-gcpermcapacity 输出永久代使用到到最大,最小空间。

jstat -gcpermcapacity 888

使用jstat工具在纯文本状态下监视虚拟机状态的变化,在用户体验下不如 JMC,VisualVM等可视化监控工具,但在生产情况下,不一定会使用到可视化工具,所以直接在控制台中使用jstat命令依然是一种常用到监控方式,好了jstat就聊到这里了,有问题下方讨论,一起学习。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值