简介

JConsole是一款基于JMX的可视化监控和管理工具。

本文只介绍它的监控功能,为了避免文字单一晦涩,C哥对每个知识点都有附上对应的代码示例。

1.启动JConsole

mac 在终端输入jconsole即可。
windows 在cmd输入jconsole或者找到Java安装目录下bin目录下的jconsole.exe

【注】本文在Mac系统写进行演示。如图1-1

图1-1 启动界面

从图1-1中可以看出,C哥本地运行的有Idea和jconsole两个虚拟机进程。

2.内存监控

Tab页分为:概述、内存、线程、类、VM概要、Mbean。

概述

其中内存页的内容相当于可视化的jstat命令。

内存监控展示

首先编写一个java程序,这个程序用来往java堆中填充数据,我们来通过jconsole工具的内存工具观察内存的变化。

示例代码:作用以64K/50ms的速度往java堆里面填充数据,一共填充1000次。

import java.util.List;
import java.util.ArrayList;
public class TestJconsoleHeap{static class OOMObject{public byte[] placeholder = new byte[64 * 1024];//一个对象为64K}public static void main(String[] args){List<OOMObject> list = new ArrayList<>();//添加1000次for (int i = 0;i < 1000 ;i++ ) {//稍作延迟,使得监控曲线容易观察try{Thread.sleep(50);}catch(Exception e){}list.add(new OOMObject());}System.gc();}
}

由于C哥是使用笔记本编写大代码,先使用javac编译该代码。
javac TestJconsoleHeap.java

然后运行该程序,使用终端输入:
java -Xms100M -Xmx100M -XX:useSerialGC TestJconsoleHeap

然后在启动界面,选择:

image.png

观察内存监控:(动图)

内存波动.gif

可以观察到Eden区域是折线状。

3.线程监控

线程监控相当于可视化的jstack,遇到线程停顿的时候,可以使用它来监控。
线程长时间停顿的主要原因:等待外部资源(数据库连接、网络资源、设备资源等)、死循环、锁等待。

下面分别演示一下这几种情况。

JDK可视化工具 | JConsole操作指南,手把手教会你相关推荐

  1. Java内存泄露和内存溢出、JVM命令行工具、.JDK可视化工具、Java Class文件

    1.Java内存泄露和内存溢出对比 1.1 Java 内存泄露 内存泄露是指一个不再被程序使用的对象或变量还在内存中占用空间. 1.1.1判断内存空间是否符合垃圾回收的标准 在Java语言中,判断一个 ...

  2. JVM-11虚拟机性能监控与故障处理工具之【JDK的可视化工具-JConsole】

    文章目录 思维导图 概述 JConsole: Java监视与管理平台 启动jconsole 内存监控示例 VM ARGS 代码 JConsole监控展示及说明 扩展问题 没有指定-Xmn,如何确定新生 ...

  3. 深入理解JAVA虚拟机学习笔记11——JDK可视化工具-VisualVM以及案例分析

    VisualVM:多合一故障处理工具,功能比较全面的一个工具,与其它的检测工具相比,对实际性能影响很小,并且还具备安装插件功能.这个工具和前面介绍的JConsole工具有很多类似的功能,但是比JCon ...

  4. jvm命令和可视化工具 调优

    李克华 云计算高级群: 292870151 195907286 交流:Hadoop.NoSQL.分布式.lucene.solr.nutch 虚拟机:系统虚拟机 程序虚拟机 系统虚拟机有:VMWare ...

  5. 爬梯:常用JDK堆栈工具

    Java虚拟机性能分析和故障排查工具 JDK命令行工具 JDK提供了很多工具供java程序员使用 D:\Java\JDK1.8.0_211\bin 想要往高级发展,就必须得熟练使用几种常用的jdk工具 ...

  6. 手把手教会|绘制风控中常用的可视化图表

    在日常办公时,数据可视化是一项比较重要的事情,图表传达的信息有时候会比数字更加直观,更加具有说服力. 在金融领域,各种产品在贷前.贷中.贷后等各个流程中都会产生大量的数据,这时就会涉及到各种各样的数据 ...

  7. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的pdf文件

    Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的pdf文件 目录 Graphviz软件的下载 Graphviz将dot文件转为结构图的pdf文件 输出结果 Gr ...

  8. Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的png文件

    Graphviz之DT:手把手教你使用可视化工具Graphviz将dot文件转为结构图的png文件 目录 Graphviz软件的下载 Graphviz使用方法 Graphviz软件的下载 Graphv ...

  9. 13.8.可视化虚拟机工具--Jconsole内存监控、13.9.可视化虚拟机工具--Jconsole线程监控、13.10.死锁原理以及可视化虚拟机工具--Jconsole线程

    13.8.可视化虚拟机工具–Jconsole内存监控 13.9.可视化虚拟机工具–Jconsole线程监控 13.10.死锁原理以及可视化虚拟机工具–Jconsole线程 13.8.可视化虚拟机工具– ...

最新文章

  1. linux中流设备_Linux设备驱动子系统终极弹
  2. python简单代码 春节集五福-集五福活动又来了,不过这个价值几十亿的大项目也别错过...
  3. 浅谈分布式CAP定理
  4. java事务_JAVA事务
  5. 实体类和数据表的映射异常(XXX is not mapping[ ])
  6. 计算机linux运维日记,计算机的运维系统情况
  7. 大咖面对面 | 陈果果博士谈智能语音
  8. 关于configure: error: no acceptable C compiler found in $PATH
  9. java socket编程—单客户端与服务器通信
  10. 微信的APP支付开发,服务端和支付端的问题
  11. DSP芯片TMS320C6678的spi挂载flash启动
  12. 网页设计大作业成品_成品衣柜尺寸太固定,设计师6大方面分享定制衣柜,读后收获满满...
  13. DSN文件怎么用Proteus打开
  14. 6个好用免费的LiDAR数据处理软件【2021最新】
  15. html在表格输入文字不显示,Word表格中有部分格子内无法输入文字是怎么回事?...
  16. 2022-2028年全球与中国各向异性导电胶行业市场前瞻与投资战略规划分析
  17. LQ0122 等腰三角形【打印图形】
  18. [Spring Boot]Druid datasource整合及配置
  19. GoCD:持续集成和部署工具简介
  20. c语言中的牛顿割线法

热门文章

  1. 关于Java的反射机制,你需要理解这些...
  2. Unabe to login, status: 526
  3. phpcms调用全部频道栏目及子栏目代码详解
  4. JavaScript学习笔记 - 基础排序算法
  5. spawn-fcgi 启动python 程序失败
  6. 3种类型的程序员:“虫族”,“人族”,“神族”(转载)
  7. 携号转网,用户最关心的还是网络质量
  8. Cassandra 简介
  9. Debian Linux安装OpenSSH(sshd-server)
  10. Mysql-环境配置及问题解决