原博客地址: http://doc.okbase.net/zzone/archive/121301.html
Linux 查看端口命令
lsof -i:端口号
服务器是linux,我们远程在window系统上监控
使用JMX方式
[root@bspdev jdk1.7.0_09]# cd $JAVA_HOME/jre/lib/management
[root@bspdev management]# pwd
/usr/java/jdk1.7.0_09/jre/lib/management
[root@bspdev management]# ls -l
total 28
-rw-r--r-- 1 root root 3998 Sep 25 2012 jmxremote.access
-rw-r--r-- 1 root root 2856 Sep 25 2012 jmxremote.password.template
-rw-r--r-- 1 root root 14097 Sep 25 2012 management.properties
-rw-r--r-- 1 root root 3376 Sep 25 2012 snmp.acl.template
首先利用password.template文件创建jmxremote.password文件,并且设置相应的读写权限。
[root@bspdev management]# cp jmxremote.password.template jmxremote.password
[root@bspdev management]# ls -l
total 32
-rw-r--r-- 1 root root 3998 Sep 25 2012 jmxremote.access
-rw-r--r-- 1 root root 2856 Jul 5 06:09 jmxremote.password
-rw-r--r-- 1 root root 2856 Sep 25 2012 jmxremote.password.template
-rw-r--r-- 1 root root 14097 Sep 25 2012 management.properties
-rw-r--r-- 1 root root 3376 Sep 25 2012 snmp.acl.template
[root@bspdev management]#
修改jmxremote.password的文件权限,否则报错必须限制口令文件读取访问权限:jmxremote.password
Chmod –R 600 jmxremote.password
将jmxremote.password中的权限部分注释标记去除。
# password "QED". The "controlRole" role has password "R&D".
#
# monitorRole QED
# controlRole R&D
修改为:
monitorRole QED
controlRole R&D
"jmxremote.password" 64L, 2852C written
下一步修改Tomcat的启动语句,将bin/catalina.sh文件vi编辑:
将原
JAVA_OPTS="-Xmx1024M -Xms512M -Xss3M"
export JAVA_OPTS
调整为
CATALINA_OPTS="-Xmx1024M -Xms512M -Xss3M -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true"
export CATALINA_OPTS
注意这里不要使用JAVA_OPTS这个变量,否则会出现错误: 代理抛出异常错误: java.rmi.server.ExportException: Port already in use
为什么会出现这个错误呢看官方的说法:
# JAVA_OPTS (Optional) Java runtime options used when any command
# is executed.
# Include here and not in CATALINA_OPTS all options, that
# should be used by Tomcat and also by the stop process,
# the version command etc.
# Most options should go into CATALINA_OPTS.
# CATALINA_OPTS (Optional) Java runtime options used when the "start",
# "run" or "debug" command is executed.
# Include here and not in JAVA_OPTS all options, that should
# only be used by Tomcat itself, not by the stop process,
# the version command etc.
# Examples are heap size, GC logging, JMX ports etc.
很明显 JAVA_OPTS变量会被任何命令执行时调用,而CATALINA_OPTS只是在启动、运行、调试的命令中才会被调用。
jmx配置参数
1、配置Tomcat catalina.sh
找到# OS specific support. $var _must_ be set to either true or false.添加如下变量:
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1090 --配置jmx远程监听端口1090,指定任意未被占用端口
-Dcom.sun.management.jmxremote.authenticate=true --启用用户认证
-Dcom.sun.management.jmxremote.ssl=false --禁用ssl
-Djava.rmi.server.hostname=10.111.43.164 --绑定远程主机IP
-Dcom.sun.management.jmxremote.acccess.file=/opt/apache-tomcat-7.0.2/jconsole/jmxremote.access --配置用户访问权限
-Dcom.sun.management.jmxremote.password.file=/opt/apache-tomcat-7.0.2/jconsole/jmxremote.password" --配置用户信息,包括用户名和密码
如果不需要配置访问用户名及密码,配置如下:
# OS specific support. $var _must_ be set to either true or false.
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1090
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=10.111.43.164"
选项配置文件说明:$JAVA_HOME/jre/lib/mamagement/jmxremote.properties
2、切换用户到root,修改/etc/hosts添加IP地址。添加如下信息:
10.111.43.164 fmcods.localdomain fmcods localhost.localdomain localhost
3、创建jmxremote.password、jmxremote.access文件
#mkdir -p $JAVA_HOME/jconsole
#cp $JAVA_HOME/jre/lib/management/jmxremote.password.template $JAVA_HOME/jconsole/jmxremote.password
#cp $JAVA_HOME/jre/lib/management/jmxremote.access $JAVA_HOME/jconsole/jmxremote.access
修改文件权限:
#chmod -R 775 jconsole
此时提示错误: 必须限制口令文件读取访问: $JAVA_HOME/jconsole/jmxremote.password。
解决办法:在$CATALINA_BASE目录下新建jconsole文件夹,访问文件权限必须是600
#mkdir -p $CATALINA_BASE/jconsole
复制jmxremote.password、jmxremote.access到$CATALINA_BASE/jconsole,修改文件权限
#chmod -R 600 jmxremote.password
#chmod -R 600 jmxremote.access
4、$CATALINA_BASE/bin/shutdown.sh.出现连接端口被占用提示。
5、ps -ef | grep 1090 --被占用端口
6、kill -9 pid
7、重启Tomcat.$CATALINA_BASE/startup.sh
8、jconsole 远程连接
相关推荐
三、jVisualVM监控Tomcat jVisualVM是Java SDK自带的一款强大的多合一Java应用性能分析工具,可以用来监控Tomcat: 1. **连接Tomcat**: - 启动jVisualVM,选择"Remote",输入Tomcat的JMX连接信息,包括主机名、...
总的来说,监控Tomcat内存使用情况是一项重要的维护任务,它有助于保持系统的健康运行,并能及时发现和处理可能导致系统性能下降的问题。通过理解和利用Tomcat提供的管理工具,以及第三方的内存分析工具,我们可以...
总的来说,通过JMX和Zabbix监控Tomcat,不仅可以实时监控Tomcat的运行状态,还可以预防潜在的性能问题和故障,提高系统的稳定性和可用性。对于大型企业或复杂环境,这样的监控机制显得尤为重要。
使用 VisualVM 工具进行 Tomcat 性能调优和性能监控 本文主要介绍了如何使用 VisualVM 工具来进行 Tomcat 的性能调优和性能监控。下面将详细介绍相关知识点: 一、JDK 内存优化 在 Tomcat 中,默认的堆大小为 128...
jvisualvm操作手册for linux菜鸟 jvisualvm是一款功能强大的Java虚拟机(JVM)监控工具,由Oracle提供,自JDK 6 ...jvisualvm是一款功能强大的Java虚拟机监控工具,能够帮助我们实时监控服务器性能,快速排查问题。
【Tomcat性能优化】是提升应用服务响应速度和系统稳定性的关键步骤,涉及到多个层面的调整。首先,从外部环境优化来看,优化主要包括服务器硬件配置、操作系统调优和Java虚拟机(JVM)配置。 1. **服务器硬件优化**...
一、Tomcat性能监控与调优 Tomcat是一款广泛应用的Java Servlet容器,其性能优化主要涉及以下几个方面: 1. **配置调整**:调整最大线程数、最小线程数、空闲超时时间等参数,以平衡资源利用和响应速度。 2. **类...
基于JDK命令行的监控 基于JVisualVM的可视化监控 基于Btrace的监控调试 Tomcat性能监控与调优 Nginx性能监控与调优 JVM层GC调优 JVM字节码与java代码层调优
JVisualVM是Java平台的一个强大的可视化工具,它可以帮助开发者监测和调试应用程序的性能问题,特别是那些与内存管理相关的故障。作为NetBeans的一个子项目,JVisualVM自JDK 1.8起就已经被集成到标准发行版中,这...
- Tomcat 8提供了管理工具,如`manager`和`admin`应用,用于管理Web应用的部署和监控。 - 配置这些管理应用需要在`conf/tomcat-users.xml`中添加用户和角色。 5. **日志和调试** - Tomcat的日志文件位于`logs`...
- 调整JVM的内存参数(如`Xms`, `Xmx`, `MaxPermSize`, `XX:MaxMetaspaceSize`等)对于优化Tomcat性能至关重要。 5. **日志管理**: - Tomcat的日志文件通常位于`logs`目录下,包括`catalina.out`、`host-manager...
为了进行调试和性能优化,可以利用JDK 1.8提供的工具,例如JVisualVM,它可以提供CPU、内存和线程的实时监控,帮助开发者找到性能瓶颈。同时,JDK的JMX(Java Management Extensions)功能也可以用来远程监控和管理...
- 可以使用JMX(Java Management Extensions)监控Tomcat的运行状态。 以上是关于Apache Tomcat 8.5.32在64位Windows系统上的安装和使用的基本知识,实际操作中,开发者还需要根据具体需求进行更深入的配置和优化...
将视频整合成为思维导图,看着方便,节省时间。 内容包括:(1)基于JDK命令后工具的监控(2)基于Btrace的监控调试...(4)java代码层优化(5)JVM层GC调优(6)基于JVisualVM的可视化监控(7)tomcat性能监控和调优
9. **监控和故障排查**:使用JMX(Java Management Extensions)可以远程监控Tomcat的状态。`jconsole`或`jvisualvm`等工具可以帮助分析Tomcat的性能和内存状况。 10. **故障恢复**:如果遇到问题,如启动失败,应...
- JMX(Java Management Extensions)可以远程监控Tomcat的运行状态。 9. **与其他应用服务器集成**: - Tomcat可以作为独立服务器,也可以与Spring Boot、EJB容器(如JBoss、WebLogic)等结合使用。 10. **故障...
- 使用JVM的性能监视工具(如JVisualVM)监控内存使用、CPU负载,以优化Tomcat的性能。 7. **部署与更新应用**: - 将WAR文件放入`webapps`目录,Tomcat会自动部署应用。 - 更新应用时,只需替换现有WAR文件或在...
- 使用JVisualVM或其他性能分析工具监控Tomcat的CPU、内存使用情况。 10. **与其他技术集成** - Tomcat可以与Spring Boot、Hibernate、MyBatis等框架配合使用,构建完整的Java Web应用。 - 也可以作为其他服务器...