visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决
visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决
JMX方式:
编辑Tomact里bin目录的catalina.sh . 在其头部加入
JAVA_OPTS="
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8998 这个端口可以改
-Dcom.sun.management.jmxremote.rmi.port=8998
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=ture 需要鉴权 若为false则不需要下两行的配置
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
-Djava.rmi.server.hostname=xxx.xxx.xxx.xxx" 服务器ip地址编辑Tomcat里conf目录的server.xml 加入监听器:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="8998" rmiServerPortPlatform="8999" />
- 其中8998可以改为你想要的端口
在conf目录新建两个文件
jmxremote.access文件内容:
username readwrite
第一个参数是用户名,第二个是这个用户拥有读取/写入权限
jmxremote.passwd文件内容:
username password
第一个参数为access的文件里的用户名,password为要设置的密码
- 去iptables开启刚刚设置的端口,这里为8998
- vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8998 -j ACCEPT
- 这个时候理论上可以开启visualVM然后添加远程主机监控了,但是由于JMX还需要监听一到两个随机端口。
会报错:
无法使用service:jmx:rmi连接
解决方法有两种
是用 jps 得到pid,然后使用 lsof -i|grep {pid} 命令得到监听的其他端口
然后将在iptables开放。关闭iptabels防火墙,service iptables stop。
之后就可以在本地机上开visualVm添加远程主机,不使用ssl连接。开启监控啦
- jmx方式只能针对一个jvm,并且不支持visualGC。下面介绍第二种。
jstatd方式
使用cd $JAVA_HOME 到jdk的根目录,bin文件夹里面新建jstatd.all.policy文件。
内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
在bin目录下启动Jstatd。
./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.0.23
hostname为外网ip。
这个使用本地主机上使用jps xxx.xxx.xxx.xxx的方式访问远程报错:java.rmi.ConnectException: Connection refused to host: xxx.xxx.xxx.xxx;
- 原因 : jstatd会随机监听1,2个端口。
- 解决方法: 同上(用lsof命令查看监听的端口)。
这个时候visualVM会自动刷新进程,一般两三秒就可以看到远程服务器上的所有jvm进程。
本文地址:http://www.cnblogs.com/zhengshiqiang47/p/7634522.html
visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决的更多相关文章
- VisualVM使用Jstatd和JMX远程监控配置(转载)
一.Jstatd远程监控服务器配置 jstat可以实时显示本地或远程JVM进程中类装载.内存.垃圾收集.JIT编译等数据.如果要显示远程JVM信息,需要远程主机开启RMI支持,详情如下: 1. 在JA ...
- Java_jvisualvm使用JMX连接远程机器(实践)
https://my.oschina.net/heroShane/blog/196227 一.启动普通的jar程序 1.执行foo.jar启动命令 java -Dcom.sun.management. ...
- jvisualvm_使用jmx连接远程linux应用
[前提] JVisualVM是由Sun提供的性能分析工具,在Jdk6.0以后的版本中是自带的,如果是用Jdk1.5或以前版本的就得要单独安装了. [1]远程机器需要开启jmx 在使用jvisualvm ...
- Hadoop jar配置使用JMX进行远程JVM监控
背景: 编写了一个MapReduce程序,发现该程序内存占用非常多,需要有一种方法来分析内存详细的占用情况. 可以使用linux上的pmap –d <PID>来看进程逻辑地址空间使用情况 ...
- 使用Java VisualVM监控远程JVM
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...
- visualvm监控jvm及远程jvm监控方法(转)
VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具.它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览H ...
- Java VisualVM监控远程JVM
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...
- 使用本地JConsole监控远程JVM(最权威的总结)
问题背景 Tomcat经常崩溃crash,想看看JVM内存使用情况,就想到了用Jconsole监控,以前只是监控本地的JVM,这次要监控远程的,遇到了不少问题. 经过几个小时的努力,参考了众多 ...
- 使用本地JConsole监控远程JVM (转)
问题背景 Tomcat经常崩溃crash,想看看JVM内存使用情况,就想到了用Jconsole监控,以前只是监控本地的JVM,这次要监控远程的,遇到了不少问题. 经过几个小时的努力,参考了众多 ...
随机推荐
- [CF908D]New Year and Arbitrary Arrangement
题面在这里 题意 给定三个数\(k,pa,pb\),每次有\(\frac{pa}{pa+pb}\)的概率往后面添加一个'\(a\)',每次有\(\frac{pb}{pa+pb}\)的概率往后面添加一个 ...
- BSGS算法(大步小步算法)
计算\(y^x ≡ z \ mod\ p\) 中 \(x\) 的解. 这个模板是最小化了\(x\) , 无解输出\(No \ Solution!\) map<ll,ll>data; ll ...
- MySQL性能调优与架构设计
1.Scale(扩展):从数据库来看,就是让数据库能够提供更强的服务能力 ScaleOut: 是通过增加处理节点的方式来提高整体处理能力 ScaleUp: 是通过增加当前处理节点的处理能力来提高整体的 ...
- 关于Mybatis的java.lang.UnsupportedOperationException异常处理
圈住的那行报java.lang.UnsupportedOperationException这个错,这个错的意思是:不支持的操作异常 异常我就不贴了,直接上解决办法吧. 可能我的异常跟大家的不太一样,报 ...
- 1.Docker是什么?
Docker官网是这样解释的: Docker is the company driving the container movement and the only container platform ...
- C++中 #include<>与#include""
#include<> 使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录去查找: #include"" 使用双引号则表示首先在 ...
- WordPress博客彻底关闭图片缩略图功能的方法
最近感觉没发几篇文章,然后查看cpanel面板的时候发现不知不觉我的空间突然被占用了很多,不能忍啊,我查看了一下磁盘占用,发现是缩略图搞的鬼,我 的文章中的图片都是保存在七牛中的,只有特色图片是不能使 ...
- Unity3D NGUI事件监听的综合管理
首先,将Event Listener挂在按钮上 Event Listener的源码很简单 就是利用C#的时间委托机制 注册了UI场景的事件而已 public class UIEventListener ...
- Online Judge(OJ)搭建——1、项目介绍
项目名 Piers 在线评测 项目需求 用户: 获取题库.题目的相关信息. 在线对代码进行编译.执行.保存.返回运行(编译)结果. 总体题目评测成绩查询. 用户信息服务,包括注册.登录.忘记密码.邮箱 ...
- 前端的UI设计与交互之图标篇
图标是具有指代意义的图形,也是一种标识.通过使用图标表达命令,强调状态,表示产品或类别.为了系统及跨平台之间图形认知保持一致, 图标在设计和使用时有以下两个原则点需要注意:简单的图形语言以及高辨识度. ...