JVM学习-监控工具(三)

jconsole
  • 从Java5开始,在JDK中自带的java监控和管理控制台
  • 用于对JVM中内存、线程、和类等的监控,是一个基本JMX(java management extendsions)的GUI性能监控工具
三种连接方式
  • Local:使用JConsole连接是一个正在本地系统运行的JVM,并且执行程序和运行JConsole的需要是同一个用户,JConsole使用文件系统的授权通过RMI连接器连接到平台的Mbean服务器上,这种本地连接监控能力只有Sun的JDK具有
  • Remote:使用下面的URL通过RMI连接器连接到一个JMX代理,service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmi,JConsole为建立连接,需要在环境变量中设置mx.remote.credentials来指定用户名和密码,从而进行授权
  • Advanced:使用一个特殊的URL连接JMX代理,一般情况使用自己定制的连接器而不是RMI提供的连接器来连接JMX代理,或者使用JDK1.4实现JMX和JMX Remote应用
Visual VM
  • Visual VM是一个功能强大的多合一故障诊断和性能监控的可视化工具
  • 集成了多个JDK命令行工具,使用Visual VM可以显示虚拟机进程及进程的配置和环境信息(jps,jinfo),监视应用程序的CPU、GC、堆、方法区、及线程信息(jstat,jstack)等,甚至代替JConsole
  • 在JDK6 update 7以后,Visual VM便作为JDK的一部分发布(在JDK/bin目录下),完全免费
  • Visual VM也可以做为独立的软件安装
插件安装
  • IDEA安装
  • jvisualvm安装

连接方式
  • 本地连接
    • 监控本地Java进程的CPU、类、线程等
  • 远程连接
    • ①确定远程服务器的IP地址
    • ②添加JMX
    • ③修改bin/catalina.sh,连接远程的tomcat
    • ④在.../conf中添加jmxremote.access和jmxremote.password文件
    • ⑤将服务器地址改为公网IP地址
    • ⑥设置阿里云安全策略和防火墙策略
    • ⑦启动tomcat,查看tomcat启动日志和端口监听
    • ⑧JMX中输入端口号、用户名、密码
主要功能
  • 生成/读取堆内存快照

  • 查看JVM参数和系统属性

  • 查看运行中的虚拟机进程

  • 生成/读取线程快照

  • 程序资源的实时监控

  • 其他功能

    • JMX代理连接
    • 远程环境监控
    • CPU分析和内存分析

相关推荐
星梦清河2 分钟前
宋红康 JVM 笔记 Day15|垃圾回收相关算法
jvm·笔记·算法
武文斌7713 分钟前
ARM工作模式、汇编学习
汇编·嵌入式硬件·学习·arm
月阳羊20 分钟前
【硬件-笔试面试题-76】硬件/电子工程师,笔试面试题(知识点:H桥驱动电路的设计要点)
java·单片机·嵌入式硬件·面试·职场和发展
赵星星52028 分钟前
MySQL的默认隔离级别:为什么是可重复读(RR)而非读已提交(RC)?
java
用户20187928316729 分钟前
故事:公司的 "私人储物柜" 系统(ThreadLocalMap)
android·java
ling__i41 分钟前
java day18
java·开发语言
非ban必选42 分钟前
netty-scoket.io路径配置
java·服务器·前端
lingggggaaaa44 分钟前
小迪安全v2023学习笔记(八十讲)—— 中间件安全&WPS分析&Weblogic&Jenkins&Jetty&CVE
笔记·学习·安全·web安全·网络安全·中间件·wps
Jayyih1 小时前
嵌入式系统学习Day36(简单的网页制作)
学习·算法
渣哥1 小时前
我和Java 8 Stream相爱相杀的那些年
java