开启JMX功能,使JVisvualVM能够连接JVM
-Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=192.168.1.54
注:
1. -Dcom.sun.management.jmxremote.port :这个是配置远程 connection 的端口号的,要确定这个端口没有被占用
2. -Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否启用 ssl
3. -Dcom.sun.management.jmxremote.authenticate=false 指定了JMX 是否启用鉴权(需要用户名,密码鉴权)
4. -Djava.rmi.server.hostname :这个是配置 server 的 IP 的
以下转自 http://my.oschina.net/kone/blog/157239
jdk自带有个jvisualvm工具、该工具是用来监控java运行程序的cpu、内存、线程等的使用情况。
并且使用图表的方式监控java程序、还具有远程监控能力。不失为一个用来监控tomcat的好工具。
在jdk目录下的bin目录中可以找到jvisualvm.exe文件、直接启动可以看到如下界面:
以上是已经连接远程的界面。直观的监控界面、更有助于我们分析tomcat的运行情况。
下面主要介绍下怎么样使用本地jvisualvm监控远程tomcat。
tomcat自带的监控介绍可以参考:
http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html
下面是我的配置方法:
-Dcom.sun.management.jmxremote.hostname=xxx.xxx.xxx.xxxx -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx -Dcom.sun.management.jmxremote.port=xxx -Dcom.sun.management.jmxremote.ssl=
false
-Dcom.sun.management.jmxremote.authenticate=
true
-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 主机地址,我配置的是外网地址
-Dcom.sun.management.jmxremote.port=xxx 端口号、配置完端口号之后需要将此端口开放出来
可以使用命令:iptables -A INPUT -p tcp --d port 端口号 -j ACCEPT
-Dcom.sun.management.jmxremote.authenticate=
true
是否开启认证、
false
的时候可以不使用密码访问
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access
以上配置是开启认证时使用的access文件和password文件
其中jmxremote.access文件的内容可以配置为:
username1 readonly
username2 readwrite
jmxremote.password文件可以配置为:
username1 password1
username2 password2
将以上俩文件放在对应配置目录tomcat/conf/下
并且将以上俩个文件访问权限配置成:
chmod
600
jmx*
如果没有这一步、使用startup启动不了tomcat。
按照上述配置、再使用startup.sh启动tomcat。
接下来就是使用jvisualvm来远程监控tomcat了
右键点击远程-添加远程主机-输入主机ip地址
添加远程主机之后,点击远程主机右键-添加jmx连接:
弹出登录框
输入主机名:端口号,如果配置了用户名和密码,请输入用户名和密码。然后点击确定。
点击确定之后、在远程主机下会有一个jmx连接,打开连接,点击监视tab,可以看到如下界面了。
在上图中可以看到cpu利用率和垃圾回收活动(这个在分析tomcat性能时也很重要)。然后是堆栈使用情况。下面是类的使用情况,最后一个是线程活动情况。
点击线程tab可以看到:
上图可以非常清晰的看到线程活动情况,那些线程正在执行,哪些线程正在等待中,以及执行完毕的线程等。
这里可以看到每个线程的状态,点击某个线程右键可以查看该线程的详细情况:
使用左上角的线程dump按钮,还可以看到线程的堆栈情况,这样就可以具体分析线程是在什么地方进入等待,什么地方进入休眠,以及什么地方一直处于执行状态。这也是一个性能分析利器哦!
以上就是使用jvisualvm的jmx远程监控tomcat的简单配置。
开启JMX功能,使JVisvualVM能够连接JVM的更多相关文章
- 服务器开启JMX监控
JMX是一个框架,提供了一种功能,可以实时查询应用程序中通过JMX向外部公布的相应参数或者是其他应用程序,同时也可以通过JMX来实时地调用应用程序使用JMX向外部公布的接口,来完成一些功能操作. 如果 ...
- Centos7 安装mysql服务器并开启远程访问功能
大二的暑假,波波老师送了一个华为云的服务器给我作测试用,这是我程序员生涯里第一次以root身份拥有一台真实的云服务器 而之前学习的linux知识在这时也派上了用场,自己的物理机用的是ubuntu系统, ...
- Apache下开启SSI配置使html支持include包含
写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...
- PHP语言开发微信公众平台(订阅号)之开启基本功能及获得可用的服务器地址(2)
1.开启群发功能(单击功能菜单里的"群发功能",并在右侧页面中点击"同意以上声明") 2.(1)在开启开发者模式之前需要完善个人资料(完成头像上传即可) (2) ...
- Activemq开启JMX及问题排查
0.服务端开启JMX服务 一.修改${ ActiveMQ_HOME} /conf/activemq.xml文件 在<broker>标签中添加如下属性:useJMX="true&q ...
- Android开启OTG功能/USB Host API功能
Android USB 模式简介 设备模式 当计算机或其他USB主机需要连接安卓设备时,此时安卓设备是作为"USB设备"角色的,在计算机上显示为 USB 外设.现在的安卓设备已经被 ...
- PHP开启cURL功能
PHP开启cURL功能 在php.ini中开启 确定php扩展目录下有php_curl.dll类库 在php.int中找到扩展库所在目录 判断目录下是否有php_curl.dll 没有的话去搜索下载 ...
- mysql开启全文索引功能
注意:全文检索模块需要mysql开启全文索引功能,开启方法:修改mysql配置文件:window服务器为my.ini,linux服务器为my.cnf,在 [mysqld] 后面加入一行“ft_min_ ...
- CDC ->> 在某个SQL Server中开启CDC功能
USE AdventureWorks;GO--开启某个数据库的CDC功能EXEC sys.sp_cdc_enable_db;GO--is_cdc_enabled栏位为1代表开启CDC功能了SELECT ...
随机推荐
- Swift - 设置tableView每个分区cell圆角
1.// 重新绘制cell边框 func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRow ...
- android中四大组件之间相互通信
好久没有写有关android有关的博客了,今天主要来谈一谈android中四大组件.首先,接触android的人,都应该知道android中有四大组件,activity,service,broadca ...
- mybatis注意事项
1.如果用注解的方式加载配置CRUD查询的语句时,映射文件中的配置是: <mapper class="com.day03_mybaits.test3.UserMapper"/ ...
- BestCoder 2nd Anniversary
A题 Oracle http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=703&pid=1001 大数相加: ...
- 祝贺 Linux 25 岁:25 个关于 Linux 的惊人真相!【转载】
作者:Javen Fang链接:https://zhuanlan.zhihu.com/p/22222383来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 25 年前的这 ...
- Noip2016
<这篇是以前的,不开新的了,借版面来换了个标题> 高二了 开学一周,每天被文化课作业碾压... 但是仍然阻挡不了想刷题的心情... 对付noip2016的几块:(有点少,以后补) 高精度( ...
- iOS ReactiveCocoa简单使用笔记
涉及对象: 两个输入框,一个按钮. 代码功能: 随时监测输入框内容的长度变化,并在输入内容不符合预设要求时,立即改变输入框背景色. 在两个输入框的内容都符合预设要求时,按钮才可用. RACSignal ...
- node模块函数图解
已截图方式记录模块信息: HTTP模块: 对于网络返回处理状态封装了很多种,我已截图展现 以上状态也是在http协议中包含的状态. http函数: path模块:
- 《Invert》开发日志04:工具、资源和服务
这篇记录一下<Invert>用到的工具.资源和服务.秉承两个原则:一,绝不侵犯版权:二,尽量节省开支. 首先是工具.游戏引擎使用免费的Unity个人版: 编码IDE使用免费的VisualS ...
- HDU5716 : 带可选字符的多字符串匹配
shift-and算法,设$v[i][j]$表示文本串长度为$i$的前缀能否匹配模式串长度为$j$的前缀,$f[i][j]$表示字符$i$能否匹配模式串的第$j$个位置,那么有$v[i+1][j+1] ...