JVM的监控工具之jconsole
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的更多相关文章
- JVM的监控工具之jvisual
VisualVM(All-in-One Java Trouble shootingTool)是到目前为止随JDK发布的功能最强大的运行监视和故障处理程序,并且可以预见在未来一段时间内都是官方主力发展的 ...
- JVM性能监控工具(一)-jdk命令行工具
转载:http://blog.csdn.net/top_code/article/details/51456186 当系统出bug需要定位问题的时候,知识.经验是关键基础,数据是依据,工具是运用知识处 ...
- java堆栈信息查看,以及JVM性能查看工具-jconsole+jmap
java-core P487 P515 chapter11,主要讲java的异常,里面很多内容收获良多,之前一直没注意过的. 一,Throwable类获得StackTraceElement ,可进行 ...
- JVM内存监控工具 Jconsole
-------------Jconsole监视远程的linux服务器上的tomcat ----------------------------- 1.linux服务器上的tomcat 的bin/cat ...
- JVM可视化监控工具jconsole以及jvisualvm的配置
使用jdk自带的jconsole.jvisualvm插件,监控远程linux服务器中tomcat的jvm情况 (jconsole.jvisualvm插件可查看堆内存变化情况,线程状态,CPU使用情况, ...
- jvm性能监控(4)–JVM的监控工具Jconsole
下面主要说一下怎么JConsole远程连接springboot 项目 java \-Djava.rmi.server.hostname=192.131.149.42 \-Dcom.sun.manag ...
- 深入理解JVM—性能监控工具
(转自:http://yhjhappy234.blog.163.com/blog/static/31632832201222691738865/) 我们知道,在JVM编译期和加载器,甚至运行期已经做了 ...
- JMV监控工具之JConsole
一.简介 JConsole是一个基于JMX的GUI工具,用于连接正在运行的JVM,它是Java自带的简单性能监控工具.下面以对tomcat的监控为例,带领大家熟悉JConsole这个工具. 二.配置 ...
- JVM性能监控工具-Jvisualvm
用法:Jvisualvm是JDK自带的一款性能分析工具 使用方式: 1.配置好JDK环境变量 1.本地JVM监控略 2.远程JVM监控 用JMX对Resin内存状态进行监控 ,可以看到本地所有可监控的 ...
随机推荐
- 死磕 java同步系列之AQS终篇(面试)
问题 (1)AQS的定位? (2)AQS的重要组成部分? (3)AQS运用的设计模式? (4)AQS的总体流程? 简介 AQS的全称是AbstractQueuedSynchronizer,它的定位是为 ...
- MySQL(10)---自定义函数
MySQL(10)---自定义函数 之前讲过存储过程,存储过程和自定义函数还是非常相似的,其它的可以认为和存储过程是一样的,比如含义,优点都可以按存储过程的优点来理解. 存储过程相关博客: 1.MyS ...
- c#中list集合使用Max()方法查找到最大值
在C#的List集合操作中,有时候需要查找到List集合中的最大值,此时可以使用List集合的扩展方法Max方法,Max方法有2种形式,一种是不带任何参数的形式,适用于一些值类型变量的List集合,另 ...
- java基础(28):数据库、表及表数据、SQL语句
1. 数据库 1.1 数据库概述 什么是数据库 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作. 什么是数据库 ...
- python中Socket的使用
说明 前一段时间学习python网络编程,完成简单的通过python实现网络通信的功能.现在,将python中Socket 通信的基本实现过程做一个记录备份. Socket通信 python 中的so ...
- 2018年最新Java面试题及答案整理
基础篇 基本功 面向对象特征 封装,继承,多态和抽象 封装封装给对象提供了隐藏内部特性和行为的能力.对象提供一些能被其他对象访问的方法来改变它内部的数据.在 Java 当中,有 3 种修饰符: pub ...
- c++ 多态的内幕
c++ 多态,就是利用了一个二级指针(指针数组),数组里的每个元素都指向了,用virtual修饰的成员函数. 既然提到了指针,那就让我们用内存地址来证明一下吧. 为了证明,我们必须要取到成员函数的首地 ...
- 爬虫---lxml爬取博客文章
上一篇大概写了下lxml的用法,今天我们通过案例来实践,爬取我的博客博客并保存在本地 爬取博客园博客 爬取思路: 1.首先找到需要爬取的博客园地址 2.解析博客园地址 # coding:utf-8 i ...
- 联邦学习 Federated Learning 相关资料整理
本文链接:https://blog.csdn.net/Sinsa110/article/details/90697728代码微众银行+杨强教授团队的联邦学习FATE框架代码:https://githu ...
- JAVA反射(资源版)
关于JAVA反射的作用可以看这篇博客(说的很详尽): https://www.cnblogs.com/jqyp/archive/2012/03/29/2423112.html 下面是关于JAVA反射的 ...