虚拟机性能监控与故障处理工具

一、JDK的命令行工具

JDK的 bin 目录下为我们提供了很多的工具,如在 Windows安装JDK及Maven 中使用的 javajavac ,以及在 类文件结构及字节码指令 中使用的 javap 等,其实bin目录下还为我们提供了很多的工具,包括了很多用于监视虚拟机性能和故障处理工的工具,如下:
在这里插入图片描述

这里可以启动如下代码,然后利用介绍的JDK命令行工具查看

public class App {
   
    public static void main(String[] args) {
   
        for (;;) {
   }
    }
}

1.1、jps

列出当前机器上正在运行的虚拟机进程。

常用参数 作用
-p 仅仅显示进程ID
-m 输出虚拟机进程启动时传递给主类main()函数的参数
-l 输出主类的全名,如果进程执行的是Jar包,输出Jar路径
-v 输出虚拟机进程启动时JVM参数

在这里插入图片描述


1.2、jstat

可以显示本地或者远程虚拟机进程中的类装载、内存、垃圾收集、JIT编译等运行数据,在没有GUI图形界面,只提供了纯文本控制台环境的服务器上。

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

  • 查看类装载、卸载数量、总空间以及类装载时间情况
    在这里插入图片描述

  • 查看GC情况
    在这里插入图片描述

    选项 作用
    S0C Survivor0区容量
    S1C Survivor1区容量
    S0U Survivor0区已使用容量
    S1U Survivor1区已使用容量
    EC Eden区容量
    EU Eden区已使用容量
    OC 老年代的容量
    OU 老年代已使用的容量
    MC 元空间(MetaSpace)的容量(JDK1.8)
    MU 元空间(MetaSpace)已使用容量(JDK1.8)
    CSSC 压缩类的容量
    CSSU 压缩类已使用容量
    YGC 发生YoungGC的次数
    YGCT 发生YoungGC所消耗的时间
    FGC 发生FullGC的次数
    FGCT 发生FullGC所消耗的时间
    GCT 表示垃圾收集消耗的总时间

    另外命令后面还可以再加上查询间隔时间及查询次数,如每隔250毫秒查询一次我们运行的App垃圾收集状况,一共查询5次
    在这里插入图片描述</

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值