JConsole(Java Monitoring and Management Console)是一种基于JMX的可视化监视、管理工具。管理的是什么?管理的是监控信息、永久代的使用信息、类加载等等

如果我们想监控本机的某一个java程序的运行,那么直接输入jconsole(windows下可以弹出图形化界面,linux 下无法弹出图形化界面)即可,

可以看到本机的java 进程,

点击其中一个就可以进入图形化界面,然后对其进行监控查看堆信息,以及进行死锁检测。

监控eureka 线程,里面有一栏是线程,下有检测死锁的功能,未检测到死锁,说明不存在死锁:

点击未检测到死锁,

然后监控查看deadlock进程,点击检测死锁,发现了三个死锁的线程,点击线程可以查看阻塞的地方,不同版本JDK这里可能有所差异,网上的部分资料说这里会有红色的提示,:

监控界面上还有执行GC的功能,点击GC后发现内存确实堆内存占用有所下降:

上面讲了如何监控本机的JAVA线程,如果想监控远程tomcat的的进程呢

需要在catalina.sh 中添加如下配置:

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.54.5"  ## 配置远程的主机
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=8888"  ## 配置远程jMX端口
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.rmi.port=8888"  ## 配置远程jMX端口
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticat=true"  ## ## 配置远程jMX 是否需要认证
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false" ## 配置远程jMX是否需要ssl

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticat=true"  因环境不同而有所差异,我本机必须配置为true,false 访问不了

既然开启了远程的认证,必然存在认证的用户名和密码问题,密码配置参考博客:https://www.cnblogs.com/wanfeng/p/9582226.html

链接远程的tomcat:

远程tomcat的catalina.sh 配置如下:

JVM的监控工具之jconsole的更多相关文章

  1. JVM的监控工具之jvisual

    VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的 ...

  2. JVM性能监控工具(一)-jdk命令行工具

    转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...

  3. java堆栈信息查看,以及JVM性能查看工具-jconsole+jmap

    java-core  P487 P515 chapter11,主要讲java的异常,里面很多内容收获良多,之前一直没注意过的. 一,Throwable类获得StackTraceElement ,可进行 ...

  4. JVM内存监控工具 Jconsole

    -------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 1.linux服务器上的tomcat 的bin/cat ...

  5. JVM可视化监控工具jconsole以及jvisualvm的配置

    使用jdk自带的jconsole.jvisualvm插件,监控远程linux服务器中tomcat的jvm情况 (jconsole.jvisualvm插件可查看堆内存变化情况,线程状态,CPU使用情况, ...

  6. jvm性能监控(4)–JVM的监控工具Jconsole

    下面主要说一下怎么JConsole远程连接springboot 项目 java  \-Djava.rmi.server.hostname=192.131.149.42 \-Dcom.sun.manag ...

  7. 深入理解JVM—性能监控工具

    (转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了 ...

  8. JMV监控工具之JConsole

    一.简介 JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具.下面以对tomcat的监控为例,带领大家熟悉JConsole这个工具. 二.配置 ...

  9. JVM性能监控工具-Jvisualvm

    用法:Jvisualvm是JDK自带的一款性能分析工具 使用方式: 1.配置好JDK环境变量 1.本地JVM监控略 2.远程JVM监控 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的 ...

随机推荐

  1. pandas 学习 第5篇:DataFrame - 访问数据框

    数据框是用于存储数据的二维结构,分为行和列,一行和一列的交叉位置是一个cell,该cell的位置是由行索引和列索引共同确定的.可以通过at/iat,或loc/iloc属性来访问数据框的元素,该属性后跟 ...

  2. 调试接口你还在用postman吗

    作者 | 陈凯玲 来源 | my.oschina.net/keking/blog/3104972 接口调试是每个软件开发从业者必不可少的一项技能,一个项目的的完成,可能接口测试调试的时间比真正开发写代 ...

  3. 爬取bilibili首页菜单获取li内容

    代码: import requests from bs4 import BeautifulSoup def html_save(s): with open('哔哩哔哩.csv','a')as f: f ...

  4. C#数组2(多维数组)

    using System; namespace ConsoleApp3 { struct WuGong { public string Name; public int Attack; } class ...

  5. Flask笔记:上下文

    线程隔离Thread Local: 如果一个对象具有线程隔离的特性,就可以称之为“Thread Local”,线程隔离是指该对象在不同的线程中都是独立的,在一个线程中对该对象的操作不会影响另一个线程对 ...

  6. nginx 配置不当导致目录遍历下载漏洞

    今天做百度杯的时候发现一个题很有意思. 点进题目,发现了一个js重定向到login.php,抓包发现请求的header中cookie=0,做过这种类似的题目,o==false,在请求头里面将cooki ...

  7. [b0003] 总览:Hadoop 个人学习路线进展

    3.   Spark 搭建  过 1.1   搭建伪分布式2.0.1  ok 2016-10-23  耗时 2h ref  [0006] Spark 2.0.1 伪分布式搭建练手 后续: 1.2 分布 ...

  8. python测试mysql写入性能完整实例

    这篇文章主要介绍了python测试mysql写入性能完整实例,具有一定借鉴价值,需要的朋友可以参考下 本文主要研究的是python测试mysql写入性能,分享了一则完整代码,具体介绍如下. 测试环境: ...

  9. Excel中的一列数据变成文本的一行数据

    Excel中的一列数据变成文本的一行数据 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

  10. Vue中怎样使用swiper组件?

    我用的VS Code编译器,首先打开终端,进入项目(我是在13-vue文件夹下面的elem中使用) D:\study\web\13-vue\elem> cnpm install vue-awes ...