其他分享
首页 > 其他分享> > 性能监控之可视化故障处理工具 JConsole

性能监控之可视化故障处理工具 JConsole

作者:互联网

1.JConsole简介

   Jconsole(Java Monitoring and  Management Console)是一款基于JMX(Java Management Extensions)的可视化监视,管理工具。它的主要功能是通过JMX的MBean(ManagedBean)对系统进行信息收集和参数动态调整。

2.JConsole启动

  通过JDK/bin目录下的jconsole.exe启动jconsole后,会自动搜索出本机运行的所有虚拟机进程,而不需要用户自己使用jps查询。也可以使用下面的“远程进程”功能来连接远程服务器,对远程虚拟机进行监控。

远程连接参考:https://www.cnblogs.com/think-in-java/p/6138439.html

3.JConsole使用简介

  3.1概述

    概述选项卡中显示CPU使用率,内存使用率,线程数,Java VM中加载的类的监控信息。右键单机图表可以保存数据。

  

  3.2内存

       内存标签功能“执行GC”的按钮,可以单击执行垃圾收集。 

   

  3.3线程

  在左下角的“线程”列表列出了所有的活动线程。如果你输入一个“过滤器”字段中的字符串,线程列表将只显示其名称中包含你输入字符串线程。点击一个线程在线程列表的名称,显示该线程的信息的权利,包括线程的名称,状态、阻塞和等待的次数、堆栈跟踪。

  红色 :峰值线程数
  蓝 :活动线程数

  检测死锁线程:要检查如果您的应用程序已经陷入了僵局运行(例如,您的应用程序似乎是挂了),死锁的线程可以通过点击“检测死锁”按钮检测。 如果检测到任何死锁的线程,这些都显示在一个新的标签,旁边出现的“主题”标签

package com.ryj.hotspot;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class JConsoleTest {

    static void createBusyThread() {
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                // TODO Auto-generated method stub
                while (true) {

                }
            }
        }, "testBusyThread");
        t.start();
    }

    static void createLockThread(Object lock) {
        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                synchronized (lock) {
                    try {
                        lock.wait();
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
            }
        }, "testLockThread");
        t.start();
    }

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        br.readLine();
        createBusyThread();
        br.readLine();
        Object obj = new Object();
        createLockThread(obj);
    }

}
View Code

  

  3.4类

 

  3.5VM概要

 

  3.6Mbean

标签:void,故障,死锁,线程,JConsole,new,可视化,public
来源: https://www.cnblogs.com/ryjJava/p/12633925.html