JDK的命令行工具和可视化工具学习笔记

来源:互联网 发布:霍华德新秀赛季数据 编辑:程序博客网 时间:2024/05/20 09:47

JDK 的命令行工具

1、jps显示指定系统内所有的HotSpot虚拟机的进程

        可以列出正在运行的虚拟机进程,并显示虚拟机执行类型名称以及这些进程的本地虚拟机唯一ID(LVMID)。
        -q:只输出LVMID,省略主类的名称;
        -m:输出是启动虚拟机时传递给主类main()函数的参数;
        -l:输出主类的全名,如果进程执行的是Jar包,输出Jar路径;
        -v:输出虚拟机进程启动时JVM参数。
2、jstat:虚拟机统计信息监视工具
3、jinfo:Java配置信息工具
        用于实时地查看和调整虚拟机各项参数;

4、jmap:Java内存映像工具

        Jmap命令用于生成堆转储快照,获取堆dump文件,它还可以查询finalize执行队列、Java堆和永久代的详细信息,如空间使用率,当前用的是哪种收集器等。

5、jhat:虚拟机堆转储快照分析工具

        Jhat命令与jmap命令搭配使用,来分析jmap生成的堆转储快照。Jhat内置了HTTP/HTML服务器,生成dump文件的分析结果后,可以在浏览器中查看。

6、jstack:Java堆栈跟踪工具

        Jstack命令用于生成虚拟机当前时刻的线程快照。线程快照就是当前虚拟机内每一条线程正在执行的方法堆栈的集合,生成堆栈的线程快照的主要目的是定位线程出现长时间停顿的原因。

        线程长时间停顿的原因:线程间死锁、死循环、请求外部资源导致的长时间等待等。

7、HSDIS:JIT生成代码反汇编

        HSDIS是Sun官网推荐的HotSpot虚拟机JIT编译代码的反汇编插件,它包含在HotSpot虚拟机的源码之中,但没有提供编译后的程序。作用:让HotSpot的-XX:+PrintAssembly指令调用它来动态生成的本地代码还原为汇编代码输出,同时还生成了大量非常有价值的注释,这样可以通过输出的代码来分析问题。

 

JDK的可视化工具

1、JConsole:Java监视与管理控制台

        JConsole是一种基于JMX的可视化监视、管理工具。它管理的部分功能是针对JMX MBean进行管理。

2、VisualVM:多合一故障处理工具

        是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序。

        优点:不需要被监视的程序基于特殊Agent运行,对应用程序的实际性能影响很小。同时, VisualVM是基于NetBeans平台开发的,具备插件扩展功能的特性,因此,VisualVM还有以下特点:

        1)显示虚拟机进程以及进程配置、环境信息(jps、jinfo)

        2)监视应用程序的CPU、GC、堆、方法区以及线程的信息(jstat、jstack)

        3)dump以及分析堆转储快照(jmap、jhat)

        4)方法级的程序运行性能分析,找出被调用最多、运行时间最长的方法

        5)离线程快照:收集程序的运行时配置、线程dump、内存dump等

0 0
原创粉丝点击