JVM深入学习(七)监控小工具

以下打印都在jdk8环境下,各版本略有不同。

一. jps

    功能:列出正在运行的虚拟机进程,并显示对应的主类。

    参数: jps -help

        -q 只显示进程id

        -m 输出传入main方法的参数

        -l 输出main类或Jar的全限名

        -v 输出传入JVM的参数

二.jstat

    功能:用于监视虚拟机各种运行状态的工具。

    参数:jstat -help  |  jstat -options

实例

三.jinfo

    功能:实时查看虚拟机的各项参数

    参数:

        jinfo pid 不加参数,打印所有信息

        jinfo -flags  7689  打印命令行属性

        jinfo -flag CICompilerCount  7689  打印指定命令行属性

        jinfo -sysprops  7689  打印系统属性

四.jmap

    功能:生成堆转储快照

    参数:

        jmap -heap  7689  显示堆详细信息

        jmap -dump:format=b,file=java.bin  7689 生成堆转存快照

        jmap -finalizerinfo 7689  打印在F-Queue等待执行finalize方法的对象

        java -histo 7689 打印堆中对象统计信息,类、实例数量、合计容量

五.jhat

    功能:与jmap结合使用,用来分析堆存储快照 基本不使用,jhat较为简陋,有更多可视化工具可以实现这个功能。

六.jstack

    功能:主要用来查看某个Java进程内的线程堆栈信息。主要用于解决线程出现长时间停顿,分析此时线程的调用堆栈,看哪里出现长时间系统调用。

    参数:

    jstack -m  7689 不仅会输出Java堆栈信息,还会输出C/C++堆栈信息(比如Native方法)

你可能感兴趣的:(JVM深入学习(七)监控小工具)