java jconsole 远程连接_jconsole连接远程tomcat

article/2025/9/21 8:09:06

咱们先说怎么做,然后再聊聊一些原理,当然,本人技术能力有限,有错误的地方,欢迎指正。

1.本机环境,远程环境

本机环境:windows 7       java version "1.8.0_121"

远程环境:centos 6.5       java version "1.7.0_79"    tomcat8.5

2.需要修改的内容

1)在远程服务器的{TOMCAT_HOME}/bin下查看有没有setenv.sh这个文件,如果没有则添加这个文件,如果有则修改这个文件

2)setenv.sh文件里的内容如下:

export JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18080#jconsole连接时需要的端口-Dcom.sun.management.jmxremote.authenticate=true#是否需要验证-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password # 验证需要的密码文件-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access #验证需要的用户文件-Dcom.sun.management.jmxremote.ssl=true -Djava.rmi.server.hostname=11.168.1.153"#这个是tomcat所在机器的ip

a.jmxremote.password(放在{TOMCAT_HOME}/config下),里面是用户名密码,这个文件必需加上权限控制,chmod 600 jmxremote.password

demon 123456

b.jmxremote.access(放在{TOMCAT_HOME}/config下),用户权限的控制

demon readonly

3)ok,重启tomcat,然后使用在windows的cmd下打开jconsole

8d58c43161bce210480c537b9bf8b776.png

fcda3b2ebe7923c7a21fccaa3f20a07d.png

ok,连接成功。

3.现在我们来聊一聊原理以及问题。

1)tomcat重启会报端口被占用的错,就是上面的18080被占用,这个暂时没有想到怎么解决,只是lsof -i tcp:18080找到这个程序,然后kill掉

2)为什么要把配置写在setenv.sh中,其实网上有其它的博客是说放在catalina.sh中,这样也可以,但是放在另一个文件管理岂不是更好?

# 这里catalina.sh中的一段代码,它会去找setenv.sh然后执行它,而setenv.sh中的代码其实就是export一个变量

if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then."$CATALINA_BASE/bin/setenv.sh"

elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then."$CATALINA_HOME/bin/setenv.sh"

fi

3)如果上述操作仍然连接不上,此时就要考虑防火墙等问题了,centos关闭防火墙的命令是service iptables stop(还有其它的方式)。

欢迎一起讨论。

端口占用的问题已经解决,修改setenv.sh文件中的JAVA_OPTS为CATALINA_OPTS,原因:

Setting these properties in JAVA_OPTS tries to start a jmx server when you start tomcat AND when you shutdown tomcat. Hence the port already in use exception. You need to set these properties for CATALINA_OPTS instead of JAVA_OPTS. This will only run when you start tomcat

意思是,当你设置为JAVA_OPTS设置这些值的时候尝试去启动了一个jmx服务当你启动与关闭tomcat的时候,因此这个端口抛出被占用的异常。你需要为CATALINA_OPTS设置这些值而不是JAVA_OPTS,这样只有启动tomcat时才会启动jmx服务

其实意思就是如果JAVA_OPTS设置了那些值的话,tomcat在启动跟关闭都会启动一个jmx服务,在启动时端口已经用了,所以关闭的时候会报错。


http://chatgpt.dhexx.cn/article/ottLWJBM.shtml

相关文章

jconsole远程连接的使用

背景 在项目做性能压测的时候,对程序进行分析,需要用到jconsole工具,以前都没用过,学习了一下 连接步骤 1. 打开工具 打开jdk安装目录 -> bin ,找到jconsole.exe 双击打开 2. 到服务器中,加入以下…

简单使用Jconsole

引言 本文简单介绍Jconsole,死锁用例测试分析线程 正文 测试用例 DeadLockDemo : public class DeadLockDemo {private static Object resource1 new Object();//资源 1private static Object resource2 new Object();//资源 2public static void…

linux jconsole 监控jvm,JVM监测分析JConsole

一、基本操作 启动界面 1.JConsole是什么 从Java 5开始引入了JConsole。JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行。您可以轻松地使用JConsole(或者,它更高端的“近亲” VisualVM)来监控Java应用程序性能和跟踪Java中的代码。 …

Java应用程序监控之 jconsole

jconsole jconsole 启动一个图形控制台,使您可以监视和管理Java应用程序。JConsole图形用户界面是一个符合Java Management Extensions(JMX)规范的监视工具。JConsole使用Java虚拟机(Java VM)的广泛工具来提供有关Jav…

JConsole远程监控配置

首先,看本机(Windows)安装了JRE没 Win 》 CMD 打开命令窗口 如有安装,则会显示以下版本信息;若没有显示,就安装吧 1 C:\Users\Administrator>java -version 2 java version "1.8.0_111" 3 …

jconsole连接失败:是否重试?

背景 在学习使用jconsole的时候,按照大佬们的教程一步一步操作的,到了连接的时候却一直报这个错误,连接不上远程服务,百度了很久也没有相关的说明,都是让添加那些启动参数,问题是启动参数我早就添加了。。…

JConsole详解

一、JConsole是什么 从Java 5开始 引入了 JConsole。JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行。您可以轻松地使用 JConsole(或者,它更高端的 “近亲” VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码。 二、如何启动JConsole 如…

Jconsole小记

今天在看jmeter相关的文章时,看到了这个,网上查看了一些相关的博客,虽然现在还不做性能方面的,先记录下来以便日后查看。 Jconsole,Java Monitoring and Management Console。 Jconsole是JDK自带的监控工具&#xff…

jconsole使用

目的: 为了检查一个经常会跑死的java程序,在网上查询了下, 觉得jconsole这个工具还不错,所以就部署了一把 一、服务器端部署 首先在服务器端,启动你要监控的java程序,我的启动脚本如下: /ho…

java jconsole_jconsole与jvisualvm

jvisualvm同jconsole都是一个基于图形化界面的、可以查看本地及远程的JAVA GUI监控工具,可以认为jvisualvm是jconsole的升级版,因此这里不再介绍jconsole,只介绍jvisualvm。jvisualvm是一个综合性的分析工具,可以认为其整合了jstack、jmap、jinfo等众多调试工具的功能,并以…

JConsole工具使用

转自:https://www.cnblogs.com/baihuitestsoftware/articles/6405580.html#top Jconsole,Java Monitoring and Management Console。Jconsole是JDK自带的监控工具,在JDK/bin目录下可以找到。它用于连接正在运行的本地或者远程的JVM&#xff…

Jconsole

JConsole有界面,能够比较方便地看到堆内存 \线程\类,以及JMX的变化. 线下环境中算是个不错的诊断工具. 那怎么操作呢? 十分简单, 本地的JDK安装路径中找到 jConsole.exe ,双击,填写远程JVM进程即可. 要注意: JConsole使用时要求远程JVM打开了 JMX 端口, JMX端口和服务端口是…

完全体,千字详解:“Java性能调优六大工具”之JConsole工具

JConsole工具是JDK自带的图形化性能监控工具。 通过JConsole工具, 可以查看Java应用程序的运行概况, 并监控堆信息、 永久区使用情况及类的加载情况等。 本文主要介绍JConsole工具的基本使用方法。 一,JConsole连接Java程序 JConsole程序在%JAVA_HOME%/bin目录下,启动…

JConsole使用教程

JConsole是一个Java虚拟机的监控和管理工具,可以监控Java应用程序的内存使用、线程和类信息等。 以下是JConsole的使用教程: 1.启动JConsole JConsole是一个Java自带的工具,可以在bin目录下找到jconsole.exe文件。双击运行该文件即可启动JC…

深入理解Java虚拟机——可视化监控工具(Jconsole)

目录 一、可视化监控工具(Jconsole)的作用二、可视化监控工具(Jconsole)的使用三、测试实例四、修改测试实例代码 一、可视化监控工具(Jconsole)的作用 内存监控线程监控 二、可视化监控工具(…

深入理解java虚拟机(十)JConsole:Java监视与管理控制台

文章目录 一、JConsole介绍二、启动JConsole三、内存监控四、线程监控结尾 一、JConsole介绍 JConsole( Java Monitoring and Management Console)是一款基于JMX( Java Manage-ment Extensions)的可视化监视、管理工具。它的主要…

使用JConsole观察分析Java程序的运行(转)

一、JConsole是什么 从Java 5开始 引入了JConsole。JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行。您可以轻松地使用JConsole(或者,它更高端的 “近亲” VisualVM )来监控Java应用程序性能和跟踪Java中的代码。 二、如何启动JConsole 如果是从命令行…

JConsole可视化工具介绍

JConsole 可视化工具介绍 一、 JConsole介绍 1.1 JConsole描述 Jconsole (Java Monitoring and Management Console),一种基于JMX的可视化监视、管理工具。 1.2 启动JConsole 点击JDK/bin 目录下面的jconsole.exe 即可启动然后会自动自动搜…

附加:PageHelper分页插件的:Page和PageInfo的区别;

说明: (1)为什么写本篇博客?: ● 在【Spring Boot电商项目29:商品分类模块八:后台的【分类列表(平铺)】接口;】中,实现分页功能时,使用…

JSP之page对象及其常用方法

JSP之page对象及其常用方法