VisualVM远程连接Tomcat(转)
转自:http://www.cnblogs.com/sunshine-2015/p/5547128.html
VisualVM
VisualVm是一个将很多JDK命令工具可视化的windows程序,直接下载解压就可以使用(如果安装了JDK的话,在JDKbin目录下就有)。可以安装很多插件,在工具>插件里面查找。先来一张图瞅瞅

看到这些图形化的信息还是很激动的,这样学习JVM就可以对照着来了
远程监控
要对Tomcat远程监控,需要对远端的Tomcat和JDK进行配置
修改IP
我使用的Linux,使用hostname -i 查看ip是否为自己的外网IP(如果你仅仅是内网,是内网的IP,但不能是127.0.0.1或者localhost)
# localhost是本地环回地址,lack为机器名,将localhost修改为对应ip
# 如:10.10.23.10 lack
localhost lack
通过jstatd启动RMI
要通过远程访问jstatd需要进行授权,在JAVA_HOME/bin目录下创建jstatd.all.policy文件,内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
注意空格,最好直接复制。使用以下命令启动jstatd(注意:要在JAVA_HOME/bin目录下运行该命令)
jstatd -J-Djava.security.policy=jstatd.all.policy &
这个时候在VisualVM里面的远程连接上右键->添加远程主机,输入IP就可以看到Jstatd了
配置JMX管理Tomcat
默认Tomcat只可以从本地使用JMX,进行远程管理需要进行以下配置。打开Tomcat下的bin/catalina.sh(windows下为bat)文件,在一堆注释后面添加一行
JAVA_OPTS=-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false - Dcom.sun.management.jmxremote.ssl=false

然后在VisualVM里面右键添加JMX连接,输入IP和端口号9999(端口号可以自定义,但是必须保证没有被占用!!!)
好滴,到此就配置完成了,接下来说说上面几个参数的意义:
-Dcom.sun.management.jmxremote :允许使用JMX远程管理
-Dcom.sun.management.jmxremote.port=9008 :JMX远程连接端口
-Dcom.sun.management.jmxremote.authenticate=false :不进行身份认证,任何用户都可以连接
-Dcom.sun.management.jmxremote.ssl=false :不使用ssl

不使用ssl就勾选最后一个“不要求ssl连接”,因为没有身份证,所以也不勾选使用安全凭证。但是如果连接的是公网上的Tomcat,那么就要注意安全性了,接下来看看使用用户名和密码连接
依然是在catalina.sh里面,设置JAVA_OPTS

JAVA_OPTS='-Xms128m -Xmx256m -XX:MaxPermSize=128m
-Djava.rmi.server.hostname=10.10.23.10
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.password.file=/usr/java/default/jre/lib/management/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=/usr/java/default/jre/lib/management/jmxremote.access'

/usr/java/default/jre/lib/management/jmxremote.password和/usr/java/default/jre/lib/management/jmxremote.access是两个文件(在JAVA_HOME\jre\lib\management下有模板),以下分别编辑两个文件
# /usr/java/default/jre/lib/management/jmxremote.password
#(123456、123456789为密码)
monitorRole 123456
controlRole 123456789
# /usr/java/default/jre/lib/management/jmxremote.access
monitorRole readonly
controlRole readwrite
新建完成这两个文件要修改jmxremote.password的权限
chmod 600 jmxremote.password
接下来就可以远程连接了

VisualVM远程连接Tomcat(转)的更多相关文章
- VisualVM远程连接Tomcat
最近项目已经要提测了,有时间来考虑一些性能上的事儿了.之前拜读过<深入理解java虚拟机>,只可惜当时功力尚浅,有些东西还是不太懂,而且应用场景也没有,所以借这次机会看看.当然了,这次并不 ...
- 3 - JVM随笔分类(gc.log ,VisualVM插件介绍,VisualVM远程连接方式介绍)
gc.log 354.2 KB 对于对应用的监控上可以使用Jdk自带的VisualVM来做可视化监控,可以查看当前服务应用进程的堆大小的走向,以及类的加载数量等,除此之外,VisualVM可以支持很多 ...
- IntelliJ IDEA远程连接tomcat,实现单步调试
web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是Intellij idea,可以通过如下方法实现: 开启debug端口,启动tomcat 以tomcat7.0.75为例,打开bi ...
- 【监控】jvisualvm之jmx远程连接 tomcat war启动应用
一.tomcat相应jmx配置 1.在tomcat bin目录下的catalina.sh文件中添加如下配置: CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun. ...
- linux 安装jdk,tomcat 配置vsftp 远程连接
不知不觉入行也有一年了,这两天在公司上班有空了就自己装了个vmware虚拟机,装了个红帽6.1完全命令行的操作系统,想着搭个公司现在在用的测试环境,没想到中间碰到了很多问题,不过大部分都解决了,现在可 ...
- Intellij idea远程debug连接tomcat,实现单步调试
转载:http://blog.csdn.net/boling_cavalry/article/details/73384036 web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是I ...
- jProfiler远程连接Linux监控jvm、tomcat运行状态
第一步.下载软件 官网地址:https://www.ej-technologies.com/download/jprofiler/files , Mac客户端 GUI界面 Linux服务端 第二步.安 ...
- JConsole远程连接配置
JConsole远程连接还是有一点坑的.这里记录一下配置过程,好记性不如烂笔头. 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA_OPTS ...
- jvisualvm远程监控Tomcat
网上已经有很多这方面的资料,但有些很杂乱,这里做了整理总结. 一.Java VisualVM 概述 对于使用命令行远程监控jvm 太麻烦 . 在jdk1.6 中 Oracle 提供了一个新的可视化的. ...
随机推荐
- ubuntu :安装skype聊天工具
如题,今天就想搞个软件在ubuntu能聊天,查一下skype,好像网上有人说不是每个安装包都用的了,skype-ubuntu-precise_4.2.0.13-1_i386.deb可以, 我在微盘下载 ...
- Windows运行命令集锦
开始菜单中的“运行”(Win+R)是通向程序的快捷途径,输入特定的命令后,即可快速的打开Windows的大部分程序,熟练的运用它,将给我们的操作带来诸多便捷. winver 检查Windows版本 ...
- 将h264和aac码流合成flv文件
在视频应用中,经常需要将接收到h264和aac数据保存成文件. 本来想用mp4格式,但是mp4在没有正常关闭的情况下会导致文件打不开,而在实际应用中经常会出现设备直接拔电,程序不是正常结束的情况.于是 ...
- Spring boot Freemarker 获取ContextPath的方法
Spring boot Freemarker 获取ContextPath的两种方法: 1.自定义viewResolver,Spring boot中有一个viewResolver,这个和配置文件中的师徒 ...
- GITBOOK/HEXO TRAVIS GITHUB-PAGES 博客搭建
简介 这年头要是没有个博客都不好意思给别人说你是程序员,我用XX笔记呀,不行吗?不行,这玩意儿要么不能公开分享,要么公开分享要会员,现在到处都是开源,自己学到了东西都不能分享给需要帮助的人,真是伤心呀 ...
- PKU1988磁铁
Cube Stacking Time Limit: 2000MS Memory Limit: 30000K Total Submissions: 16258 Accepted: 5579 Ca ...
- 关于setTimeout的一个逻辑题
function hh() { for (var i = 1; i <=5; i++) { setTimeout(function(){ console.log(i); },100) } con ...
- 写一个trim函数,兼容IE firefox chrome(正则)
因为在获取输入框内容时,常常trim下多余的空格.而IE部分低端浏览器里的JavaScript版本不内置trim()这个清楚空格函数,而流行的浏览器里都兼容了,比如chrome,FF等.为了不让IE下 ...
- ceph中用sgdisk工具进行分区--------固定uuid
ceph中两种类型分区的type code: type type code journal 45b0969e-9b03-4f30-b4c6-b4b80ceff106 osd 4fbd7e29-9d25 ...
- 【Eclipse】开发专题
Eclipse插件安装 参考以下几个网页内容 不同版本Eclipse对JDK版本要求http://blog.csdn.net/kevin_pso/article/details/54971739 Ec ...