JMX(Java 管理扩展)是一项非常强大的技术,允许您管理、监视和配置 Tomcat MBean。
作为 Tomcat 管理员,您应该熟悉如何在 Tomcat 中启用 JMX来监控堆内存、线程、CPU 使用率、类以及配置各种 MBean 。
本文介绍如何使用 JConsole 启用并连接到 Tomcat。
如果没有,我假设您已经安装了 Tomcat。请参阅安装指南。
- 导航到 Tomcat 的安装路径
- 转到 bin 文件夹
- 创建一个名为“setenv.sh”的文件。
- 使用vi编辑器修改文件并添加以下内容
CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" - 使用“ :w ”保存文件
- 将文件权限更改为可执行
chmod 755 setenv.sh 在启动Tomcat并验证JMX之前,我们先看一下上面的配置。
- Dcom.sun.management.jmxremote.port=9000 – 您可以根据需要更改端口号。
- Dcom.sun.management.jmxremote.ssl=false – 这意味着无需 SSL 即可连接
- Dcom.sun.management.jmxremote.authenticate=false – 这意味着使用 JMX 客户端连接到 Tomcat 实例时不需要身份验证。
让我们使用脚本文件startup.sh启动Tomcat。启动后,您可以使用 netstat 或 ps –ef grep 命令进行检查。

使用 netstat 进行验证
netstat –anlp | grep9000
[root@localhost ~]# netstat -anlp |grep 9000
tcp6 0 0 :::9000 :::* LISTEN 9372/java
[root@localhost ~]# 
使用 ps 命令检查
ps –ef |grep jmx
[root@localhost ~]# ps -ef|grep jmx root 9372 1 0 21:30 pts/0 00:00:04 java -Djava.util.logging.config.file=/home/chandan/Downloads/apache-tomcat-8.0.28/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.endorsed.dirs=/home/chandan/Downloads/apache-tomcat-8.0.28/endorsed -classpath /home/chandan/Downloads/apache-tomcat-8.0.28/bin/bootstrap.jar:/home/chandan/Downloads/apache-tomcat-8.0.28/bin/tomcat-juli.jar -Dcatalina.base=/home/chandan/Downloads/apache-tomcat-8.0.28 -Dcatalina.home=/home/chandan/Downloads/apache-tomcat-8.0.28 -Djava.io.tmpdir=/home/chandan/Downloads/apache-tomcat-8.0.28/temp org.apache.catalina.startup.Bootstrap start
root 9816 9781 0 21:46 pts/0 00:00:00 grep --color=auto jmx
[root@localhost ~]# Tomcat 现在启用了jmx,您可以使用 JMX 客户端进行连接。
您可以使用任何客户端,但我们将使用 Java 附带的jconsole 。
使用 Jconsole 连接到 Tomcat JMX
- 进入jconsole所在路径
提示:如果不确定,可以使用find命令进行搜索。
- 运行 jconsole
./jconsole 这将弹出 Java 监控和管理控制台。
- 选择“远程进程”
- 输入服务器主机和端口详细信息

- 点击“连接”
这将连接到 Tomcat 并为您提供非常漂亮的 CPU、内存和线程使用情况图表。这在故障排除时非常有用。

您还可以从控制台运行 GC。
- 单击“Memory”(内存)选项卡,您将看到“Run GC”(运行 GC)按钮。

正如本文开头提到的,您还可以为您的类配置 MBean。
当您需要在运行时更改日志记录或某些参数时,通常会使用此方法。
现在,尝试一下 Jconsole 和 JMX。这是一个用于故障排除和监控的好工具。
如果您想了解有关 Tomcat 的更多信息, 请查看本教程。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

