-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=127.0.0.1
-Dcom.sun.management.jmxremote.port=8009
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
1 |
export CATALINA_OPTS="$CATALINA_OPTS |
1 |
-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl= false -Dcom.sun.management.jmxremote.authenticate= true -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access"
|
参数说明:
1 |
-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx 主机地址,我配置的是外网地址 |
1 |
-Dcom.sun.management.jmxremote.port=xxx 端口号、配置完端口号之后需要将此端口开放出来 可以使用命令:iptables -A INPUT -p tcp --d port 端口号 -j ACCEPT |
1 |
-Dcom.sun.management.jmxremote.authenticate= true 是否开启认证、 false 的时候可以不使用密码访问
|
1 |
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password -Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access 以上配置是开启认证时使用的access文件和password文件 |
其中jmxremote.access文件的内容可以配置为:
1 |
username1 readonly |
2 |
username2 readwrite |
jmxremote.password文件可以配置为:
1 |
username1 password1 |
2 |
username2 password2 |
将以上俩文件放在对应配置目录tomcat/conf/下
并且将以上俩个文件访问权限配置成:
1 |
chmod 600 jmx*
|
如果没有这一步、使用startup启动不了tomcat。
按照上述配置、再使用startup.sh启动tomcat。
接下来就是使用jvisualvm来远程监控tomcat了
右键点击远程-添加远程主机-输入主机ip地址
添加远程主机之后,点击远程主机右键-添加jmx连接:
弹出登录框
输入主机名:端口号,如果配置了用户名和密码,请输入用户名和密码。然后点击确定。
点击确定之后、在远程主机下会有一个jmx连接,打开连接,点击监视tab,可以看到如下界面了。
在上图中可以看到cpu利用率和垃圾回收活动(这个在分析tomcat性能时也很重要)。然后是堆栈使用情况。下面是类的使用情况,最后一个是线程活动情况。
点击线程tab可以看到:
上图可以非常清晰的看到线程活动情况,那些线程正在执行,哪些线程正在等待中,以及执行完毕的线程等。
这里可以看到每个线程的状态,点击某个线程右键可以查看该线程的详细情况:
使用左上角的线程dump按钮,还可以看到线程的堆栈情况,这样就可以具体分析线程是在什么地方进入等待,什么地方进入休眠,以及什么地方一直处于执行状态。这也是一个性能分析利器哦!
以上就是使用jvisualvm的jmx远程监控tomcat的简单配置。
相关推荐
1. **配置JBoss**:在JBoss的配置文件(如`standalone.xml`或`domain.xml`)中启用JMX远程访问。这通常涉及开启JMX Remoting接口,并配置必要的安全设置。 2. **客户端设置**:在客户端,我们需要导入必要的JMX和...
- **启动与配置**:通常,jvisualvm随JDK一起安装在`%JAVA_HOME%\bin`目录下,双击可直接启动。在Windows中,可通过右键菜单添加“以管理员身份运行”选项,以便更好地监控系统级进程。 - **连接本地/远程应用**:...
`jVisualVM`是Java开发人员的一个强大工具,由Oracle公司提供,它集成了多种功能,如性能监视、内存分析、线程分析以及JAR文件的远程调试。在这个场景中,我们将深入探讨如何使用`jVisualVM`进行远程连接,以及如何...
**Tomcat开启远程JMX连接方式详解** Java Management Extensions (JMX) 是Java...通过JMX,你可以使用各种工具(如JConsole、VisualVM、JMX Console插件等)进行远程监控,以便更好地管理和优化Tomcat服务器的性能。
在tomcat目录下/bin/catalina.sh文件中,我们需要插入一行配置,用于启用jmx远程监控。配置内容如下: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8888 -...
jvisualvm 远程访问 Linux ...使用 jvisualvm 远程访问 Linux 环境中的 Tomcat 需要安装和配置 jdk 和 Tomcat,然后使用 jvisualvm 的 JMX 方法或 jstatd 方法进行监控,最后添加 Visual GC 插件以获取更多的监控信息。
你可以使用 Java 提供的 `jconsole` 工具,或者其他支持 JMX 的第三方工具,如 JVisualVM、JTop 等进行连接和监控。 通过 JMX,你可以监控和管理 TongWeb7 中的 MBeans(Managed Beans),这些 MBeans 对应于服务器...
6. **远程连接**: 如果需要远程连接JMX,还需要配置是否允许远程连接以及相关的网络参数。 **使用工具进行JMX监控** 1. **JConsole**: Java自带的GUI工具,可以直接连接到本地或远程的JMX服务器。 2. **VisualVM*...
2. **JVisualVM**:JVisualVM(包含在JDK中)也支持通过VM参数连接到远程JMX服务器。除了基本的JMX功能外,它还提供了内存分析、线程分析等高级功能。 3. **命令行工具**:除了图形工具,还可以通过命令行工具jcmd...
在Java世界中,远程方法调用(Remote Method Invocation, RMI)和Java管理扩展(Java Management Extensions, JMX)是两个强大的工具,用于管理和监控分布式系统。本文将深入探讨如何利用RMI远程连接到Java虚拟机...
Eclipse 插件"JMX 连接工具"为开发者提供了一个便捷的途径,通过集成的开发环境来连接并管理JMX服务端,从而实现远程或本地的应用程序监控。 首先,JMX客户端连接信息是理解如何与JMX服务端建立通信的关键。JMX...
2. `jmxremote`:这部分可能包含配置JMX远程访问所需的库和文档,比如`jmxremote.password`和`jmxremote.access`文件,它们用于设置JMX远程连接的安全性。 3. `jmxri.jar`和`jmxtools.jar`:这两个JAR文件是JMX RMI...
- **启动方法**:安装完 JDK 后,在 JDK 的 bin 目录下运行 `jvisualvm.exe` 即可启动 Java VisualVM。 #### 二、监控本地 Java 程序 Java VisualVM 启动后,默认会显示本机运行的所有 Java 程序。这些程序会被列...
4. `jmxtools.jar`: 这是JMX Tools JAR文件,包含了用于本地和远程JMX操作的实用工具和API。例如,`jconsole`就是基于这个JAR包的,它是一个图形化的JMX客户端,可以用来监控Java应用程序的性能和资源使用情况。 在...