使用jvisualvm.exe工具远程监视tomcat的线程运行状态
一、简述
在web项目中,常使用tomcat作为web容器。代码编写的时候,由于业务需要,也常会使用线程机制。在系统运行一段时间之后,若出现响应慢或线程之间出现死锁的情况,要查出问题所在,需要使用jdk 提供的 jvuisualvm 工具,通过该工具监视tomcat的线程运行情况,从而解决问题。
tomcat分为linux和windows版的,不同的版本若想使用jvuisualvm进行线程监视,需要进行不同的配置。
二、linux版本的tomcat配置
为了让本机器上的jvuisualvm 工具能够监视远程机器上(linux)的tomcat中线程运行状况,tomcat需要修改其对应配置。修改如下:
(1) 修改catalina.sh文件
打开该文件,在绿色注释上加入以下配置。
CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.2.145.108"
# ----- Execute The Requested Command -----------------------------------------
其中红色所指IP是tomcat所属服务器的IP。蓝色所指端口为jmx连接时的端口。
(2) linux防火墙配置
在(1) 中指定了jmx连接的端口,此时需要查看linux是否开启,若开启,可以将防火墙关闭,或者将端口设置到防火墙中允许通过。
三、windows版本的tomcat配置
windows版本的tomcat,需要查看其启动方式,若是注册成了服务,可以通过以下方式进行配置:
(1) 更改注册表:

在注册表中找到图中位置。
双击 Options 在其中添加
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=XXXX.XXXX.XXXX(双网卡的需要指明,单网卡的可以不指定)
-Dcom.sun.management.jmxremote.port=1090 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false
之后再重启tomcat服务即可。
若重启不成功,请检查添加的这几行是不是后面有空格。(若有多余的空格是启动不了的)
四、jvuisualvm调试
(1) windows下打开java安装目录bin目录下的jvisualvm.exe(C:\Program Files\Java\jdk1.7.0_45\bin);
(2)在远程上右键,添加远程主机;

(3)、在添加的远程主机上右键,添加Jmx(此处不需要密码,点击确定即可);

(4)、双击连接查看Jvm运行情况


图中红色的表示出现了死锁的情况,可以通过导出dump来查看问题。
使用jvisualvm.exe工具远程监视tomcat的线程运行状态的更多相关文章
- java heap space以及jvisualvm.exe 工具
		
最近遇到了java heap space错误. 这个问题的原因,其实还是堆溢出了. 解决这个问题 1 首先我们考虑,在代码中哪里使用了较多的对象,但是又没有及时回收. 2 我们可以通过 jvisua ...
 - 使用JMX工具远程监控tomcat配置
		
使用JMX工具远程监控tomcat,在tomcat启动时添加配置参数: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.po ...
 - Java虚拟机二:使用jvisualvm工具远程监控tomcat内存
		
jdk中自带了很多工具可以用于性能分析,位于jdk的bin目录下,jvisualvm工具可以以图形化的方式更加直观的监控本地以及远程的java进程的内存占用,线程状态等信息. 一.配置tomcat 在 ...
 - 使用jvisualvm.exe工具查看java项目内存溢出(堆溢出)
		
在查看内存溢出的时候,我们需要明白,堆溢出和持久代溢出,他们不一样,说到内存泄漏,我们就需要明白,内存中 年老代和新生代,和持久代,这3块的数据 自己的理解: new了一个对象,会进入到堆里面,先放 ...
 - 【监控】jvisualvm之jmx远程连接 tomcat war启动应用
		
一.tomcat相应jmx配置 1.在tomcat bin目录下的catalina.sh文件中添加如下配置: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun. ...
 - jvisualvm远程监控Tomcat
		
网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结. 一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. ...
 - jconsole & jvisualvm远程监视websphere服务器JVM的配置案
		
jconsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请.释放等动作,将内存管理的所有信息进行统计.分析.可视化.我们可以根据这些信息判断程序是否有内存泄漏问题. 使用jco ...
 - JConsole & JVisualVM远程监视Websphere服务器JVM的配置方法
		
原文链接:http://xjsunjie.blog.51cto.com/999372/1331880/ jconsole是JDK里自带的一个工具,可以监测Java程序运行时所有对象的申请.释放等动作, ...
 - jvisualvm远程监控服务器tomcat
		
1.在 {服务器tomcat路径}/bin/catalina.sh 中,的[# OS specific support. $var _must_ be set to either true or f ...
 
随机推荐
- 如何使用共享网卡的NAT模式配置VMware12中的CentOS6.7的上网功能
			
1.首先共享网卡的NAT模式是通过win10中的VMnet8来通信的,如下双击VMnet8 2.点击[详细信息]查看VMnet8的IPV4地址为192.168.232.110,掩码为255.255.2 ...
 - 01-Javascript基础
			
一. JS介绍 JavaScript是前台语言 JavaScript是前台语言,而不是后台语言. JavaScript运行在用户的终端网页上,而不是服务器上,所以我们称为“前台语言”. JavaScr ...
 - black box黑盒测试
			
软件规格说明书 等价类划分,完备性,无冗余性(不能有交集). 健壮等价类:无效等价类 边界值分析,对于一个含有n个变量的程序,采用边界值分析法测试程序会产生4n+1个测试用例 ...
 - BZOJ 1085:[SCOI2005]骑士精神(A*算法)
			
题目链接 题意 中文题意. 思路 首先找到空白的格子,因为空白的格子可以和其他的骑士换.从空白的点开始搜索,每次和其他点交换.因为最多只有十五步,可以做16次搜索,搜索的时候,记录走过的步数和至少剩余 ...
 - webpack4基础入门操作(一)
			
基于webpack4实践:开始:打开控制面板,制定到创建Webpack的文件夹. 并创建初始配置文件package.json 输入命令:npm init -y,在文件夹中出现一个package.jso ...
 - docker-compose一键部署redis一主二从三哨兵模式(含密码,数据持久化)
			
本篇基于centos7服务器进行部署开发 一.拉取redis镜像,使用如下命令 docker pull redis 1.查看镜像是否拉取成功,使用如下命令 docker images 显示如下则证明拉 ...
 - Java基础之回味finally
			
平时大家try…catch…finally语句用的不少,知道finally块一定会在try…catch..执行结束时执行,但是具体是在什么时候执行呢,今天我们一起来看下. public static ...
 - 20131214-EditPlus快捷键-第二十一天
			
EditPlus 快捷键 文件 FileFtpUpload Ctrl+Shift+S 上传文件到 FTP 服务器 FileNew Ctrl+N 新建普通的文本文档 FileNewHtml Ctrl ...
 - Java编程思想:XML
			
/* 本次实验需要在www.xom.nu上下载XOM类库 */ import nu.xom.*; import java.io.BufferedOutputStream; import java.io ...
 - 抓包自定义过滤器需加%XXXX%,如%third_play%
			
抓包自定义过滤器需加%XXXX%,如%third_play%