java应用故障的排查工具

java应用故障的排查
    常用工具:
        1.jps
            jps命令用来输出JVM虚拟机进行的一些信息,优点类似于Linux的PS命令,可以列出虚拟机当前正在执行的进程,并显示器主类(即main函数的所在class)和进程ID。使用频率很高,后续的大部分工具都需要进行ID,以确定监控的虚拟机进程。jps可以方便的找到进程主类对应的进程ID。

        2.jstat
            jstat是一个可以用来对虚拟机各种运行状态进行监控的工具,通过它可以看到虚拟机的类加载与卸载情况,管理内存使用和垃圾收集等信息,监视JIT即时编译器的运行情况等,几乎囊括了JVM运行的方方面面。
        3.jinfo
            jinfo命令主要用于查看应用程序的配置参数,以及打印运行JVM时所指定的JVM参数。jinfo可以使用-sysprops选项将虚拟机进程中所指定的System.getProperties()的内容打印出来,并且该命令还可以查看为被显示指定的JVM参数的系统默认值。
        4.jstack
            jstack密令用来生成虚拟机当前的线程快照信息,线程快照就是当前虚拟机每一个线程正在执行的方法堆栈的集合。生成线程快照的目的主要是为了定位线程长时间没有响应的原因,
        5.jmap
            jmap可以用来查看等待回收对象的队列,查看堆的概要信息,包括采用的是那种GC收集器,对空间的使用情况,以及通过JVM参数指定的各个内存空间的大小等。
        6.BTrace
            BTrace是一个开源的Java程序动态跟踪工具,前面在介绍性能优化时,已经提到过如何使用它来监控方法的执行时间。
        7.JConsole
            JConsole是一款JDK内置的图形化性能分析工具,它可以用来谅解本地或者远程正在运行的JVM,对运行的Java应用程序性能及资源消耗情况进行分析和监控,并提供可视化的图表相关数据进行展现。
        8.Memory Analyzer(MAT)
            MAT是一款功能强大的Java对分析工具,能够快速找到占用队内存空间最多的对象,以便程序进行优化,减少内存消耗,还能够通过进一步的分析,定位可能的内存泄漏问题。
        9.Visualvm
            visualVM是一款功能十分强大的"All-in-One"工具,涵盖了JVM内存消耗监视、性能分析,线程,以及堆栈存储分析、垃圾回收监视等几乎所有能包含进来的功能,是目前为止,伴随JDK发布的功能最为强大的运行、监视和故障排查程序。

你可能感兴趣的:(Java,系统架构)