《深入理解JVM》第四章 虚拟机性能监控&&故障处理工具

版权声明:版权为ZZQ所有 https://blog.csdn.net/qq_39148187/article/details/81839178

jdk命令行工具

jps虚拟机进程状态工具

使用频率最高的就是jps jps 可以通过RMI协议查询开启了RMI服务的远程虚拟进程状态

jstat 虚拟机统计信息监视工具

用于监视虚拟机各种状态信息的命令行工具,可以显示本地或者远程虚拟机进程中的类装在,内存,垃圾收集,JIT编译,

window 查看进程netstat -a  jstat 一样,可跟参数

jstat -gc id time count  time 执行一次, 执行count 次

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT
  GCT
1024.0 1024.0  0.0    0.0    8192.0   3112.9   10240.0     727.1    4864.0 3490.5 512.0  377.1     475    0.134   0      0.000
   0.134

https://www.cnblogs.com/suoliw/articles/2228690.html

jinfo:java 配置信息工具

实时查看和调整虚拟机各项参数,使用jps -v 命令可以查看虚拟机启动时指定的参数列表,但是如果想知道未被显式指定的参数的系统默认值,除了去找资料外,就只能使用jinfo 的-flag 选项查看

F:\java8_demo>jinfo -flag CMSInitiatingOccupancyFraction 16504
-XX:CMSInitiatingOccupancyFraction=-1

jmap :java内存映像工具

jmap 命令用于生成堆专出快照, dump 文件,jmap 的作用不仅仅是为了获取dump 文件,还可以查询finalize 执行列队,java堆和永久代,

导出指定lvm 进程的快照文件, 

jhat :虚拟机堆转存快照分析工具

Sun JDK 提供jhat 命令和jmap 搭配使用, 做jmap 生成存储转快照文件,jhat 内置一个http/html服务器,生成dump文件分析结果后可以从浏览器查看,jhat 工具分析当对来说比较简陋,有专业的VisualVM 和Eclipse Memory Analyaer IBM HeapAnalyzer 工具都比jhat强大

F:\java8_demo>jhat eclipse.bin
Reading from eclipse.bin...
Dump file created Sun Aug 19 17:08:17 CST 2018
Snapshot read, resolving...
Resolving 5976125 objects...
Chasing references, expect 1195 dots...........................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
........................................................................................
Eliminating duplicate references...............................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
...............................................................................................................................
....................................................................................
Snapshot resolved.
Started HTTP server on port 7000
Server is ready.

出现Server is ready 然后 localhost:7000 端口就能查看到所有的类文件

jstack java 堆栈跟踪工具

jstack 用于生成当前虚拟机的线程快照,一般称为 threaddump 

Thread 中有个静态方法 getAllStackTraces

HSDIS :JIT生成代码反汇编

网上下载,window 版本的比较难找我这里有,有需要的找我,

package com.jvm.log;


/**
 * @author ZZQ
 * @date 2018/8/19 17:38
 * 反编译代码到汇编
 * -XX:+UnlockDiagnosticVMOptions  -XX:+PrintAssembly -Xcomp -XX:CompileCommand=dontinline,-XX:CompileCommand=compile only,com.jvm.log.HSDIS
 */
public class HSDIS {

    public static void test(){
        System.out.println("A");
    }


    public static void main(String[] args) {
        test();
    }
}

JDK可视化工具

JConsole 

JConsole 从jdk1.5开始就提供了,他是一个功能强大的监视工具,JConsole 是基于JMX 的一款可视化监控管理,

visualvm 多合一诊断故障工具

BTrace 动态日志跟踪

。。。

 

猜你喜欢

转载自blog.csdn.net/qq_39148187/article/details/81839178