jvisualvm同jconsole都是一个基于图形化界面的、可以查看本地及远程的JAVA GUI监控工具,可以认为jvisualvm是jconsole的升级版,因此这里不再介绍jconsole,只介绍jvisualvm。jvisualvm是一个综合性的分析工具,可以认为其整合了jstack、jmap、jinfo等众多调试工具的功能,并以图形界面展示.

jvisualvm启动很简单,直接在命令行中输入"jvisualvm"即可。之后出现下图:

侧边框介绍:

本地:如果你本地有java进程启动了,那么在本地这个栏目就会显示。

远程:就是监控的远程主机

由于本地和远程展示的监控界面都是相同的,这里直接介绍远程,远程监控回了,本地监控自然而然也会了。

注意,一个主机如果希望支持远程监控,需要在启动时添加以下参数:-Dcom.sun.management.jmxremote.port=1099

-Dcom.sun.management.jmxremote.authenticate=false

-Dcom.sun.management.jmxremote.ssl=false

此外,-Dcom.sun.management.jmxremote  JDK5时,需要指定这个参数,开启JMX管理功能,JDK6之后,JMX管理默认开启,不需要指定

之后,右击"远程"-->"添加远程主机",出现界面

在连接后面添加一个1099,这是远程主机jmx监听的端口号,点击确定,侧边栏变为:

点击红色框中的jmx连接,出现以下界面

jvisualvm分为四个选项卡:概述、监视、线程、抽样器,下面我们一一介绍:

“概述 ”选项卡:

默认显示的就是概述选项卡,其中的信息相当于我们调用了jinfo命令获得,其还包含了两个子选项卡:

jvm参数栏:相当于我们调用jinfo -flags 获得

系统属性栏:相当于我们调用jinfo -sysprops 获得

“监视”选项卡:

主要显示了cpu、内存使用、类加载信息、线程信息等,这只是一个概要性的介绍,如下图:

右上角的"堆dump"会在远程主机上,dump一个内存映射文件,之所以不直接dump到本地,主要是因为这个文件通常比较大,直接dump到本地会很慢。

dump完成之后,可以手工下载这个文件,通过"文件"->"装入"来进行分析,不过我们一般还是使用mat来进行分析,不会使用这个功能。

“线程”选项卡:

线程选项卡列出了所有线程的信息,并使用了不同的颜色标记,右下角的颜色表示了不同的状态。

右上角的线程dump会直接把线程信息dump到本地,相当于调用了jstack命令,如:

“抽样器 ”选项卡:

主要有"cpu"和"内存"两个按钮,读者可以分别点击一下,看一下显示效果。

java jconsole_jconsole与jvisualvm相关推荐

  1. 深入了解JAVA虚拟机和JVisualVM简单使用

    深入了解JAVA虚拟机和JVisualVM简单使用 查看全文 http://www.taodudu.cc/news/show-5670161.html 相关文章: Drawable简介 Docker容 ...

  2. Java问题诊断工具——JVisualVM

    这篇文章源自一次加班改bug的惨痛经历=[,,_,,]:3 负责的一个项目占用不断增加,差点搞崩服务器(╥﹏╥)-- 一下子有点懵,不能立刻确定是哪里导致的问题,所以决定好好研究下这个之前一直被我忽视 ...

  3. Mac 环境下 java 自带的 Jvisualvm 使用笔记

    1.Mac 电脑已经安装完成 java 且 java -version 能看到版本号,已经部署完成了 2.因为已经部署了java, 直接使用 jvisualvm 命令即可打开界面 3.安装Visual ...

  4. 细述 Java垃圾回收机制→Java Garbage Collection Monitoring and Analysis

    本文非原创,翻译自Java Garbage Collection Monitoring and Analysis 在Java中为对象分配和释放内存空间都是由垃圾回收线程自动执行完成的.和C语言不一样的 ...

  5. 监控j服务器jvm运行情况 - spring boot jvisualvm

    1.准备 spring boot 1.x java 1.8 jvisualvm.exe 2.启动 java -jar xx.jar 添加参数 -Djava.rmi.server.hostname=16 ...

  6. jvisualvm远程监控Tomcat

    为什么80%的码农都做不了架构师?>>>    一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化 ...

  7. jmap 文件解析_使用jmap dump出来的java堆镜像文件,可以用什么打开做详细分析

    匿名用户 1级 2018-11-15 回答 其中jmap是java自带的工具 查看整个JVM内存状态 jmap -heap [pid] 要注意的是在使用CMS GC 情况下,jmap -heap的执行 ...

  8. jmap 文件解析_[Java基础] 使用JMAP dump及分析dump文件

    http://zhumeng8337797.blog.163.com/blog/static/100768914201242410583187/ 其中jmap是java自带的工具 查看整个JVM内存状 ...

  9. Java GC系列(4):垃圾回收监视和分析

    转载自  Java GC系列(4):垃圾回收监视和分析 在这个Java GC系列教程中,让我们学习用于垃圾回收监视和分析的工具.然后,选用一种工具来监视一个Java示例程序的垃圾回收过程.如果你是一名 ...

  10. java内存溢出分析工具:jmap使用实战

    java内存溢出分析工具:jmap使用实战 在一次解决系统tomcat老是内存撑到头,然后崩溃的问题时,使用到了jmap.  1 使用命令  在环境是linux+jdk1.5以上,这个工具是自带的,路 ...

最新文章

  1. No resource found that matches the given name '@style/Theme.AppCompat.Light'
  2. WinForm下ComboBox获取绑定对象集的SelectedValue补充
  3. Skia的SkCamera.cpp的doUpdate() 算法。
  4. python编程语言能干什么-python编程语言的优势与劣势--python能干啥
  5. Gearman的使用
  6. python转go_如何看待将Python代码转换成Go代码并进一步编译的 Grumpy 项目?
  7. 成功解决Ignoring invalid distribution -yqt5
  8. php基础教学笔记,php学习笔记:基础知识
  9. 搜狗深入布局人工智能 Q2营收利润创新高
  10. java socketserver多线程_JAVA I/O(五)多线程网络Socket和ServerSocket
  11. Spring 实例化Bean的3种方式
  12. win10如何强制性关闭驱动数字签名
  13. SerDes知识详解
  14. LeetCode力扣算法总结-go版本
  15. Allegro更新铜皮方法
  16. 华三交换机snmp配置
  17. Linux监控平台搭建
  18. 玉米社:sem竞价推广如何选择投放时间、投放地域
  19. android蓝牙浅析
  20. 语音与影像上的自督导式学习模型、一些老版本的补充(李宏毅2022

热门文章

  1. 【Linux】安装opencv4避坑指南
  2. Comsol 2020全套教学视频 教程入门讲解新手的福音
  3. 【Qt编程】基于Qt的词典开发系列二--本地词典的设计
  4. mac安装yarn的方法
  5. studio 3T 使用
  6. 面试题系列(三)-socket
  7. ggplot2的中文显示
  8. java 枚举实例化_Java枚举
  9. ESP32-CAM 安信可
  10. python与开源gis空间分析_Python 与开源GIS —数据处理、空间分析与地图制图