zoukankan      html  css  js  c++  java
  • 性能监控之可视化故障处理工具 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

  • 相关阅读:
    android 设置时间和日期
    android 对话框
    android notification 通知
    android 动画(转载)
    js的作用域题
    js高级
    js中级6
    js中级小知识5
    js中级小知识4
    js中级小知识3
  • 原文地址:https://www.cnblogs.com/ryjJava/p/12633925.html
Copyright © 2011-2022 走看看