JMV监控工具之JConsole
一、简介
JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具。下面以对tomcat的监控为例,带领大家熟悉JConsole这个工具。
二、配置
通过JConsole远程连接服务器监控JVM,需要在被监控的服务器上tomcat的启动文件catalina.sh中加入以下配置:
JAVA_OPTS="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.182.130 -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
JMX的相关参数:
参数名 | 类型 | 描述 |
-Dcom.sun.management.jmxremote | 布尔 | 是否支持远程JMX访问,默认true |
-Dcom.sun.management.jmxremote.port | 数值 | 监听端口号,方便远程访问 |
-Dcom.sun.management.jmxremote.authenticate | 布尔 | 是否需要开启用户认证,默认开启 |
-Dcom.sun.management.jmxremote.ssl | 布尔 | 是否对连接开启SSL加密,默认开启 |
-Dcom.sun.management.jmxremote.access.file | 路径 | 对访问用户的权限授权的文件的路径,默认路径JRE_HOME/lib/management/jmxremote.access |
-Dcom.sun.management.jmxremote. password.file | 路径 | 设置访问用户的用户名和密码,默认路径JRE_HOME/lib/management/ jmxremote.password |
三、连接
四、模块介绍
概览
1、概要界面,主要显示堆内存使用情况、活动线程数、加载类数、CPU使用率四个参数的概要,可以通过下拉框来定制显示的时间范围
2、假如堆内存的图像一直在上升而没有下降的动作发生,则要怀疑是否内存泄露。健壮的项目由于GC的存在,所以它的上升和下降的幅度应该大抵相同
3、CPU的图像规律跟堆内存的大致相同
内存
1、图示为被监控程序的详细内存图
2、点击右上的执行GC按钮可以通知JVM进行垃圾回收,执行的是Full GC,实质是把垃圾回收队列的优先级提高
3、GC 时间显示了垃圾回收的时间以及回收数,上面的是Young GC执行的时间和次数,下面的是Full GC执行的时间和次数
4、右下角的图案,Heap内存区包括:年轻代Eden Space、存活代Survivor Space和老年代Tenured Gen。Non-Heap内存区包括:代码缓存区Code Cache和持久代Perm Gen;可通过改变下拉框或者直接点击图形实现切换。
线程
1、“峰值”表示最大的线程数,这个数值可以通过更改<tomcat_home>/conf/server.xml下的maxThreads来更改
2、点击具体的线程之后,我们可以看到它的状态以及方法栈的详细调用情况
3、点击“检查死锁”可以检测是否有死锁
类
关注点:类的数量变化
VM概要
1、上面几栏是关于系统和项目的概要信息
2、最下面一栏的第一项是tomcat设定的JVM参数,如果你想知道你设置的参数有没有成功启用,看这里就对了
MBean
属性显示该bean的详细细节
操作显示该bean的所有方法,可以点击该按钮触发方法,但个人不推荐这么做,应该通过程序的统一入口来触发
JMV监控工具之JConsole的更多相关文章
- JVM的监控工具之jconsole
JConsole(Java Monitoring and Management Console)是一种基于JMX的可视化监视.管理工具.管理的是什么?管理的是监控信息.永久代的使用信息.类加载等等 如 ...
- Java内存泄露监控工具:JVM监控工具介绍
本文将对JVM监控工具jstack, jconsole, jinfo, jmap, jdb, jstat进行详细的介绍,具体内容请看下文 Sun JDK监控和故障处理工具 名称 主要作用 jps JV ...
- JVM监控工具用法指导
JVM监控工具用法指导 2010-09-27 15:39 dolphin-ygj javaeye.com 字号:T | T 通过JVM监控工具的使用可以及时发现问题,剔除安全隐患,这里向大家描述一下常 ...
- JVM的监控工具之jvisual
VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的 ...
- 一份关于jvm内存调优及原理的学习笔记
JVM 一.虚拟机的基本结构 1.jvm整体架构 类加载子系统:负责从文件系统或者网络中加载class信息,存入方法区中. 方法区(Perm):存放加载后的class信息,包括静态方法,jdk1.6以 ...
- jvm系列(八):jvm知识点总览-高级Java工程师面试必备
在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内功直接去伤人,只能靠招式,利刃上优势来取胜了,但是练到高手之后 ...
- jvm007 jvm知识点总览
转载来自:http://www.ityouknow.com/ 在江湖中要练就绝世武功必须内外兼备,精妙的招式和深厚的内功,武功的基础是内功.对于武功低(就像江南七怪)的人,招式更重要,因为他们不能靠内 ...
- jvm系列(四):jvm知识点总结
原文链接:http://www.cnblogs.com/ityouknow/p/6482464.html jvm 总体梳理 jvm体系总体分四大块: 类的加载机制 jvm内存结构 GC算法 垃圾回收 ...
- JVM性能调优,GC
刚刚做完了一个项目的性能测试,“有幸”也遇到了内存泄露的案例,所以在此和大家分享一下. 主要从以下几部分来说明,关于内存和内存泄露.溢出的概念,区分内存泄露和内存溢出:内存的区域划分,了解GC回收机制 ...
随机推荐
- python-ssh-远程服务器+远程docker执行命令
在python语言中实现远程服务器执行命令+远程dcoker执行命令 def ssh_exec_command(ip, username, password, cmd=None): "&qu ...
- asp.net webApi webconfig配置常见问题
问题描述 一个项目引用不同版本的同一dll,会引发以下报错: 未能加载文件或程序集“xxx, Version=x.x.x.x, Culture=neutral, PublicKeyToken=xxxx ...
- ssh远程登录故障解决方案
问题描述: xshell远程连接服务器连接不上,如下图所示: 故障排除: . 首先查看自己系统的防火墙是否关闭,没有关闭的话关闭一下. # centos 7中关闭防火墙命令: systemctl st ...
- Linux中profile(转载)
原文地址:http://www.cnblogs.com/mmfzmd517528/archive/2012/07/05/2577988.html 标黄是个人批注. 环境变量就是一个系统变量,系统配置一 ...
- Puppet学习笔记(CentOS6.3+Puppet3.01)
Puppet学习笔记(CentOS6.3+Puppet3.01) 技术 Add comments Oct262012 下了决心,好好学习puppet,周末专门去参加一个puppet的培训,难得朋友那 ...
- 【UOJ#77】A+B Problem
传送门 题目描述 略 Sol 看到选择黑白收益不同,然后还可能有代价. 我们想到用网络流解决,并且这应该是用总可能收益-最小割得到答案. 考虑初步建图,发现那个限制可以直接 \(n^2\) 解决. 我 ...
- JSP 和Servlet 有有什么关系?
Servlet是一个特殊的Java程序,它运行于服务器的JVM中,能够依靠服务器的支持向浏览器提供显示内容. JSP本质上是Servlet的一种简易形式, JSP会被服务器处理成一个类似于Servle ...
- spark的accumulator值保存在哪里?
答案:保存在driver端.因此需要对收集的信息的规模要加以控制,不宜过大.避免 driver端的outofmemory问题!!!
- SpringBoot+Rocketmq
@PostConstruct:用于在依赖关系注入完成之后需要执行的方法上,以执行任何初始化.此方法必须在将类放入服务之前调用. @PreDestroy:在开发中我们如果要在关闭spring容器后释放一 ...
- html canvas标签 语法
html canvas标签 语法 canvas是什么意思? 作用:定义图形,比如图表和其他图像. 说明:<canvas> 标签只是图形容器,通过脚本 (通常是JavaScript)来完成, ...