配置Java远程监控授权(Java Mission Control)
配置Java远程监控授权(Java Mission Control)
转载URL: http://www.icoolxue.com/blog/show/9
最近公司做的项目有比较严重的内存溢出问题,也不知道是荣幸还是郁闷,经理将该问题交给我去自处理,经过一系列的Google,最终决定用Java Mission Control(JMC)来查找项目的内存溢出问题出在哪。
Java Mission Control(JMC)最先是由BEA公司开发的JRockit(后被Oracle收购)所附带的一个用于查找Java内存溢出问题的利器,在最近的Java8中,默认已经带上了此组件,掌握好JMC的使用能让你在处理内存溢出问题是如鱼得水。
JMC界面
JMC的使用以后再说,现在先配置服务器端(也就是说你要监控的对象),配置JMC主要就是在启动Java程序的时候加上一系列参数(以Tomcat为例,在catalina.bat 或catalina.sh中增加如下配置):
CATALINA_OPTS="-Dcom.sun.management.jmxremote.port=8901-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.authenticate=true-Dcom.sun.management.jmxremote.password.file=jmxremote.password-Dcom.sun.management.jmxremote.access.file=jmxremote.access-Djava.rmi.server.hostname=172.16.41.89"
需要注意几点:
- 如果要允许其它机器监控该程序,必须指定-Djava.rmi.server.hostname=,如果不指定该配置,那么就只能在本机监控该程序。
- 如果要控制监控的授权(让特定的用户才能连接JMX服务),需要设置-Dcom.sun.management.jmxremote.authenticate=true,如果设置为false则不需要授权。
- 如果要授权,需要指定两个文件:jmxremote.password和jmxremote.access,password文件主要是配置用户名和密码,access主要是配置权限(可读或者读写)。
在Tomcat的bin目录下增加下面两个文件:jmxremote.password和jmxremote.access,格式如下:
jmxremote.access:admin readwritemonitor readonly
表示admin有操作权限(比如调用GC等操作),monitor只有查看权限,不能进行任何操作。
jmxremote.password:admin testmonitor test
表示有两个用户,admin和monitor,密码分别是test和test。
配置好这些参数后,执行sudo ./startup.sh就可以启动Tomcat了,启动Tomcat后,在客户机上启动JMC客户端,然后创建一个新的连接:
如上图所示,在Host上填入IP或者域名,Port填上你配置的端口号。如果你启用了授权机制,在User和Password中填入相应的字段就可以了。Connection name可以填入一个你认为比较好记的字符串,一切填入妥帖后,点击Test Connection就可以测试一下是否正确,如果不正确,请回到服务器端配置了参数,测试成功点击Finish即可。
配置Java远程监控授权(Java Mission Control)相关推荐
- java 远程监控文件系统_Java 文件系统监控(WatchService)
文件系统监控这种场景应用非常广,比如spring boot里面的devtool,它就是监控文件系统,当文件一改变(增.删.改),它就会重新加载. 直接上代码 import java.io.IOExce ...
- java远程监控服务器配置_JAVA VirtualVM远程监控配置
Virtual VM是JDK6 Update7之后推出的工具,有集合其它JDK工具的倾向,目前JDK7的版本已经支持绝大部分的监控功能,好像还不能像Jprofile和Youkit那样支持实时跟踪内存堆 ...
- 配置JMC远程监控linux上的java程序
被监测服务jar包需要加启动参数: -Dcom.sun.management.jmxremote.port=9999(被监测jmc端口) -Dcom.sun.management.jmxremote. ...
- java远程监控系统代码_[源码和文档分享]基于JAVA的远程屏幕监控系统
远程屏幕监控系统在生活中是很常见的,学校机房的机房管理系统.PC版QQ的远程演示功能等都属于远程屏幕监控系统.监控系统的原理是通过客户端不断的截取屏幕发送到服务器端,服务器端进而将画面呈现出来的过程. ...
- java socket监控_ZeroMQ(java)中监控Socket
基本上ZeroMQ(java)中基本的代码都算是过了一遍了吧,不过觉得它在日志这一块貌似基本没有做什么工作,也就是我们通过日志来知道ZeroMQ都发生了什么事情.. 而且由于ZeroMQ中将连接的建立 ...
- java远程执行jmi,java调用matlab 时出现java.lang.NullPointerException错误
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这是错误日志 Error occurred during initialization of VM Unable to load ZIP library: ...
- java远程计算机终止,java - javax.net.ssl.SSLHandshakeException:远程主机终止了握手 - 堆栈内存溢出...
我已经使用以下命令在Java信任库(cacerts)中安装了证书: keytool-导入-文件" C:\\ Users \\ kdursoji \\ Downloads \\ Zscaler ...
- 海康威视配置DDNS远程监控
教程: http://www.hikvision.com/cn/support_more.asp?id=224 一. 配置路由器 192.168.1.1 转发规则 --> UPnP设置 --&g ...
- java毕业设计——基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码)——远程监控系统
基于java+Socket+sqlserver的远程监控系统软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Socket+sqlserver的远程监控系统软件设计与实现,文章 ...
最新文章
- NumPy 手写所有主流 ML 模型,由普林斯顿博士后 David Bourgin打造的史上最强机器学习基石项目!...
- 致远互联“平台+生态”抢占数字化升级新赛
- 解决tomcat was unable to start within问题
- 【Flutter】Flutter 应用主题 ( ThemeData | 动态修改主题 )
- java:BIO, NIO
- 面试总结-腾讯产品群面
- php 逗号编码,php有几种编码
- php asp 发起post请求,PHP用curl函数POST请求到ASP页面提示无效请求
- YOLOv3目标检测有了TensorFlow实现,可用自己的数据来训练
- 深度学习 tensorflow 计算图,会话,张量
- no symbol version section for versioned symbol `memcpy@GLIBC_2.4'
- Opencv系列1_opencv对单张DCM文件的读取并显示
- 计算机的优势和劣势_计算机专业毕业生考研还是就业应该怎么选?
- css 背景图片虚化磨砂效果
- 密探查询系统服务器码,车辆国几排放查询
- 中考考试的指令广播_考试时间指令(铃声).doc
- (Hopcroft-Carp二分图匹配)Rain on your Parade
- Perspectives
- 【原创】为什么要用规则引擎?
- 用AI培养孩子学习兴趣:讯飞新一代智能学习机发布