目录

一、jdk工具之jps(JVM Process Status Tools)命令使用

二、jdk命令之javah命令(C Header and Stub File Generator)

三、jdk工具之jstack(Java Stack Trace)

四、jdk工具之jstat命令(Java Virtual Machine Statistics Monitoring Tool)

四、jdk工具之jstat命令2(Java Virtual Machine Statistics Monitoring Tool)详解

五、jdk工具之jmap(java memory map)、 mat之四--结合mat对内存泄露的分析

六、jdk工具之jinfo命令(Java Configuration Info)

七、jdk工具之jconsole命令(Java Monitoring and Management Console)

八、jdk工具之JvisualVM、JvisualVM之二--Java程序性能分析工具Java VisualVM

九、jdk工具之jhat命令(Java Heap Analyse Tool)

十、jdk工具之Jdb命令(The Java Debugger)

十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)

十一、jdk命令之Jstatd命令(Java Statistics Monitoring Daemon)

十二、jdk工具之jcmd介绍(堆转储、堆分析、获取系统信息、查看堆外内存)

十三、jdk命令之Java内存之本地内存分析神器:NMT 和 pmap

 

jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。命令行里打 jconsole,选则进程就可以了。

需要注意的就是在运行jconsole之前,必须要先设置环境变量DISPLAY,否则会报错误,Linux下设置环境变量如下:

export DISPLAY=:0.0

 [root@localhost bin]# jconsole

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_性能分析及调优

那我在window机器上的结果是:

上两个图看一下:

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_optimize_02

可以这里选择查看本地进程的状况,还是远程进程的状况。

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_monitor_03

通过这张图可以看到内存、线程、类及CPU使用的一些情况。

内存情况:

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_java优化_04

VM概要:

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_性能分析及调优_05

 

 

示例1
package mat;
public class Deadlock implements Runnable{
    private int a;
    private int b;
    public Deadlock(int a, int b) {
       super();
       this.a = a;
       this.b = b;
    }
    @Override
    public void run() {
       synchronized (Integer.valueOf(a)) {
           synchronized (Integer.valueOf(b)) {
              System.out.println("a+b="+(a+b));
           }
       }
    }
    public static void main(String[] args) {
       for(int i = 0; i < 1000; ++i){
           new Thread(new Deadlock(1, 2)).start();
           new Thread(new Deadlock(2, 1)).start();
       }
    }
}

用jconsole连接上后,看线程页

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_optimize_06

看死锁信息:

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_性能分析及调优_07

 

用jvisualVM看上面的示例

七、jdk工具之jconsole命令(Java Monitoring and Management Console)_optimize_08