JConsole详解
一、JConsole是什么
从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。
二、如何启动JConsole
三、如何设置JAVA程序运行时可以被JConsolse连接分析
- 本地程序(相对于开启JConsole的计算机),无需设置任何参数就可以被本地开启的JConsole连接(Java SE 6开始无需设置,之前还是需要设置运行时参数 -Dcom.sun.management.jmxremote )
- 无认证连接 (下面的设置表示:连接的端口为8999、无需认证就可以被连接)
Java代码
- -Dcom.sun.management.jmxremote.port=8999 \
- -Dcom.sun.management.jmxremote.authenticate=false \
- -Dcom.sun.management.jmxremote.ssl=false
- 如果考虑到安全因素,需要认证,需要安全连接,也是可以搞定的。参考:Monitoring and Management Using JMX Technology - Java SEMonitoring and Management Guide
四、JConsole如何连接远程机器的JAVA程序(举例说明)
1、写一个简单的一直运行的JAVA程序,运行在某台机器上如(192.168.0.181)
也可以在已经打开的JConsole界面操作 连接->新建连接->选择远程进程->输入远程主机IP和端口号->点击“连接”,如图:
性能分析
- 概述: Displays overview information about the Java VM and monitored values.
- 内存: 显示内存使用信息
- 线程: 显示线程使用信息
- 类: 显示类装载信息
- *VM摘要:*显示java VM信息
- MBeans: 显示 MBeans.
概述
概述很简单没啥说的,自己看看吧,不过值得一提的是对着图点击右键可以保存数据到CSV文件,以后可以使用其他工具来分析这些数据。
内存
这个比较有价值,参看堆内存,非堆内存,内存池的状况总体内存的分配和使用情况以及不同的GC进行垃圾回收的次数和时间。可以手动进行GC查看内存变化。
在分析JAVA内存问题进行调优时候非常有用,你要学习JVM内存模型,之后会发现这里的每个值都具有意义。
GC的算法和参数对性能有显著的影响,注意垃圾回收次数、时间、以及partial GC和full GC,调整你所使用的不同GC和以及各个GC下的参数,然后在这个视图下观察,以得到好的性能。
这里贴一下 Java HotSpot VM garbage collector 下generational GC 的各代的划分图:
关于GC,可以参考:Tuning Garbage Collection with the 5.0 Java Virtual Machine
线程
左下角显示所有的活动线程(如果线程过多,可以在下面的过滤栏中输入字符串过滤出你想要观察的线程)。点击某个显示会显示这个线程的名称、状态、阻塞和等待的次数、堆栈的信息。
统计图显示的是线程数目的峰值(红色)和当前活动的线程(蓝色)。
另外下面有个按钮“检测到死锁”,有时候会有用处。
类
VM摘要
也没啥要说的,看看吧,内存状况,操作系统...
MBean
这里可以有一些额外的操作。
插件
Java代码
- jconsole -pluginpath C:\Java\jdk1.6.0_22\demo\management\JTop\JTop.jar
一看便知,是个什么东西。
4. 可以添加我微信:17621616591
5. 可以添加我微信:17621616591
1:**拉勾Java高级工程师高薪训练营 (2021年2月左右完结超级推荐 年度热卖 Hot)
2**:**图灵-Java架构师(第二期,第三期,第四期)(四期同步更新Hot—四期是和鲁班的讲师一起讲的!)
3**:**开课吧-JavaEE企业级分布式高级架构师第十期(完结)
4**:**极客-架构师实https://static001.geekbang.org/static/common/browser_update/index.html战营P9(李运华)(新款 —同步更新)
5**:**开课吧-百万架构师第十期(P8)(更新中)
6**:**极客-小马哥项目实战营 (在更新)
7**:**开课吧-Java架构师P7进阶之路-技术专家(新课-在更新)
JConsole详解相关推荐
- JDK14性能管理工具:Jconsole详解
文章目录 简介 JConsole 概览 内存 线程 类 VM信息 MBean 总结 简介 我们在开发java项目的时候,或多或少都会去用到Java的性能管理工具.有时候是为了提升应用程序的性能,有时候 ...
- 详解 Tomcat 的连接数与线程池
原文出处:编程迷思 前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文 ...
- 详解tomcat的连接数与线程池
前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xm ...
- 详解动态规划最长公共子序列--JavaScript实现
前面两篇我们讲解了01背包问题和最少硬币找零问题.这篇将介绍另一个经典的动态规划问题--最长公共子序列.如果没看过前两篇,可点击下面链接. 详解动态规划最少硬币找零问题--JavaScript实现 详 ...
- tomcat线程释放时间_详解tomcat的连接数与线程池
前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在前面的文章 详解Tomcat配置文件server.xm ...
- Java虚拟机详解(五)------JVM参数(持续更新)
JVM参数有很多,其实我们直接使用默认的JVM参数,不去修改都可以满足大多数情况.但是如果你想在有限的硬件资源下,部署的系统达到最大的运行效率,那么进行相关的JVM参数设置是必不可少的.下面我们就来对 ...
- 干货 | Tomcat 连接数与线程池详解
转载自 干货 | Tomcat 连接数与线程池详解 前言 在使用tomcat时,经常会遇到连接数.线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector). 在 ...
- 用JDBC直连方式访问SQL Server 2005详解
用JDBC直连方式访问SQL Server 2005详解 1.安装JDK,配置其环境变量:(笔者所用版本为1.6版) (1)从官方网http://java.sun.com/jdk下载安装文件. (2) ...
- 4大JVM性能分析工具详解,及内存泄漏分析方案
谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表.慢查询.长事务的优化等 阿里P8架构师谈:MySQL慢 ...
- Java高并发编程详解系列-Java线程入门
根据自己学的知识加上从各个网站上收集的资料分享一下关于java高并发编程的知识点.对于代码示例会以Maven工程的形式分享到个人的GitHub上面. 首先介绍一下这个系列的东西是什么,这个系列自己 ...
最新文章
- BZOJ2331:[SCOI2011]地板——题解
- 经验之谈|别再在CNN中使用Dropout了
- 【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
- ITK:将颜色贴图应用于图像
- 图像像素点赋值_Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像...
- form中action属性后面?传递参数 获取不到
- poj1958 Strange Towers of Hanoi 题解报告
- React组件生命周期-正确执行运行阶段的函数
- php apd,PHP debug 工具 之 APD
- 学习笔记--SQLyog的使用
- CARNIVAL包的介绍(根据生信技能树Jimmy老师分享的R包资料整理)
- python导入包的输入法_鼠须管输入法 傻瓜版配置 - 基于 rime_pro 增强包
- 携手业内专家赋能AI时代--EpiK铭识协议发起开源知识运动
- 怎么把mp4转换成html,html5-video – VLC:如何从mp4转换为webm
- linux 关闭桌面休眠,Linux关闭休眠和屏保模式
- mc服务器fabric安装位置,也许这是史上最详细的Fabric安装教程,助你在1.14/1.15安装mod...
- 关于眼镜的后续。。。。
- 全球案例 | 一家有着百年历史的航空公司如何扩展和转型,推动航空业创新
- myeclipse8.5 TPTP插件的使用问题
- 京东到家数据构造平台设计与实践