使用jconsole监听远程Tomcat服务的方法

JConsole是什么

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

1. 获取远程服务器的地址和可用端口号

我拿的是我自己的阿里云主机,服务器地址为39.107.68.142,端口号为8696

查看端口号是否可用: netstat -tunlp|grep 8696

 

我们可以看出上面的6969已经被使用,8696未被使用。

查看进程启动的端口

netstat -antup |grep 32594

查看端口监听情况

lsof -i:1234

2. 修改tomcat的启动脚本开启JMX

修改catalina.sh 脚本文件 在文件开头添加

JAVA_OPTS="-Djava.rmi.server.hostname=39.107.68.142 -Dcom.sun.management.jmxremote.port=8696 -Dcom.sun.management.jmxremote.rmi.port=8696 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

其中

-Dcom.sun.management.jmxremote.port=9696 //连接端口,自定义不要与已有的端口冲突

-Dcom.sun.management.jmxremote.rmi.port=8696 //这句一定要添加,不添加就无法成功

-Dcom.sun.management.jmxremote.authenticate=false //不需要密码登陆

-Dcom.sun.management.jmxremote.ssl=false //不需要安全证书

-Djava.rmi.server.hostname=39.107.68.142 //这个ip是自己服务器的外网ip

位置:

3. 重启tomcat服务

使用shutdown.sh关闭服务的时候可能会报Error: JMX connector server communication error: service:jmx:rmi://dusk:8696错误

不用管 直接杀掉 kill -9 进程号

查看进程: ps -ef|grep tomcat

然后启动服务 startup.sh

使用netstat -tunlp|grep 8696 确认端口是否已经处于监听状态

4. 开放端口号

如果我们开启了防火墙需要在防火墙中开放这个端口

查看防火墙状态service  iptables status

开放端口:

(1)通过vi /etc/sysconfig/iptables 进入编辑增添一条-A INPUT -p tcp -m tcp --dport 8889 -j ACCEPT 即可
 (2)执行 /etc/init.d/iptables restart 命令将iptables服务重启

如果是阿里云主机还需要再安全组中开放端口:

5.打开本地jconsole监控远程服务

在远程进程中输入: 39.107.68.142:8696 点击连接

然后就可以查看JVM允许状况

总结

以上所述是小编给大家介绍的使用jconsole监听远程Tomcat服务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • jconsole使用介绍(图文)

    首先先看一下jvm的大致情况,包括:堆内存使用情况,加载的类的情况,线程个数等等信息.如下图所示: 接着看一下通过jconsole看到的jvm的内存使用情况.jvm主要管理两种类型的内存:堆和非堆.简单来说堆就是Java代码可及的内存,是留给开发人员使用的:非堆就是JVM留给自己用的,所有方法区.JVM内部处理或优化所需的内存(如JIT编译后的代码缓存).每个类结构(如运行时常数池.字段和方法数据)以及方法和构造方法的代码都在非堆内存中.在jconsole中,我们看到下方绿色的柱状图表示的各个部

  • 如何利用JConsole观察分析Java程序的运行并进行排错调优

    一.JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 "近亲" VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 二.如何启动JConsole 1.如果是从命令行启动,使 JDK 在 PATH 上,运行 jconsole 即可. 2.如果从 GUI shell 启动,找到 JDK 安装路

  • 使用jconsole监听远程Tomcat服务的方法

    JConsole是什么 从Java 5开始 引入了 JConsole.JConsole 是一个内置 Java 性能分析器,可以从命令行或在 GUI shell 中运行.您可以轻松地使用 JConsole(或者,它更高端的 "近亲" VisualVM )来监控 Java 应用程序性能和跟踪 Java 中的代码. 1. 获取远程服务器的地址和可用端口号 我拿的是我自己的阿里云主机,服务器地址为39.107.68.142,端口号为8696 查看端口号是否可用: netstat -tunlp|

  • PostgreSQL数据库服务端监听设置及客户端连接方法教程

    众所周知,PostgreSQL 是一个自由的对象-关系数据库服务器(数据库管理系统),是一个可以免费使用的开放源代码数据库系统.本文详细介绍了PostgreSQL数据库服务端监听设置及客户端连接方法,具体如下: 一.背景介绍: 本文所述PostgreSQL服务端运行在RedHat Linux上,IP为:192.168.230.128 客户端安装在Windows XP上, IP为:192.168.230.1 二.配置方法: 1.修改服务端/opt/postgresql/data/postgresq

  • Android实现监听电话呼叫状态的方法

    本文实例讲述了Android实现监听电话呼叫状态的方法.分享给大家供大家参考.具体如下: 在清单文件AndroidManifest.xml中添加权限: 复制代码 代码如下: <uses-permission android:name="android.permission.READ_PHONE_STATE"/> java代码如下: // 取得电话服务 TelephonyManager telManager = (TelephonyManager) getSystemServ

  • Android编程实现实时监听EditText文本输入的方法

    本文实例讲述了Android编程实现实时监听EditText文本输入的方法.分享给大家供大家参考,具体如下: 平时在做Android开发过程中经常要用到EditText,有时候可能需要监听你在TextView中输入的字数的状态和变化,以便于我们能做相应的提示和操作.我们可以通过下面的方式来实现. class EditChangedListener implements TextWatcher { private CharSequence temp;//监听前的文本 private int edi

  • iOS开发中Swift3 监听UITextView文字改变的方法(三种方法)

    在项目中使用文本输入框出UITextField之外还会经常使用 UITextView ,难免会有需求监听UITextView文本框内文本数量.下面介绍在swift3中两种常用方式 方式一: 全局通知 1.注册通知 在合适位置注册监听UITextView文本变化的全局通知 //UITextView 监听开始输入的两种方法 //方法一:通知 NotificationCenter.default.addObserver(self, selector: #selector(ComposeVC.textV

  • js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法

    本文实例讲述了js控制元素显示在屏幕固定位置及监听屏幕高度变化的方法.分享给大家供大家参考.具体如下: //控制logo的显示位置 Begin window.addEventListener("resize", function () { // 得到屏幕尺寸 (内部/外部宽度,内部/外部高度) changeLogoPosition(); }, false); changeLogoPosition(); function changeLogoPosition() { var conten

  • 两种js监听滚轮事件的实现方法

    前段时间在写前端的时候,需要监听浏览器的滚轮事件 网上查了一下,找到两种监听滚轮事件的方法: 一.原生js通过window.onscroll监听 //window.onscroll = function() {//为了保证兼容性,这里取两个值,哪个有值取哪一个 var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //scrollTop就是触发滚轮事件时滚轮的高度 } 二.Jquery通过$(

  • android监听返回按钮事件的方法

    本文实例讲述了android监听返回按钮事件的方法.分享给大家供大家参考.具体如下: 用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写onkeydown事件,实现的效果如下: java代码如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l

  • android获取监听SD Card状态的方法

    本文实例讲述了android获取监听SD Card状态的方法.分享给大家供大家参考.具体分析如下: 1. 注册StorageEventListener来监听SD卡状态即onStorageStateChanged()方法,当sd卡状态改变时,调用该方法. 复制代码 代码如下: public void onStorageStateChanged(String path,String oldState,String newState){ if (newState.equals(Environment.

  • 使用Spring Cloud Feign作为HTTP客户端调用远程HTTP服务的方法(推荐)

    在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.Netty的异步HTTP Client, Spring的RestTemplate.但是,用起来最方便.最优雅的还是要属Feign了. Feign简介 Feign是一种声明式.模板化的HTTP客户端.在Spring Cloud中使用Feign, 我们可以做到使用HTT

随机推荐