visualvm以jmx方式连接

我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualVM就是不错的监控工具.

这个工具就在JAVA_HOME\bin\目录下的jvisualvm.exe, 双击这个文件就能看到一个比较直观的界面

使用Java VisualVM监控远程JVM - liuyb_94242 - 我的空间我做主

从左边Applications树中可以知道,不光可以监控本地JVM运行情况, 还可以监控远程机器上的JVM运行情况.

本地监控:只要打开某个JAVA程序就会自动的加入到本地监控中.

因为本地监控无需配置, 所以这里主要介绍监控远程JVM

要进行远程监控, 本机的VisualVM就必须和远程的JVM要进行通信, Visualvm目前支持两种remote connection方式.

分别是jstatd和JMX方式: 这里我主要介绍的是通过JMX方式.

通过JMX连接远程机器, 需要经过下面的配置:

1. 修改远程机器JDK配置文件 (我这里远程机器是linux).

a.进入JAVA_HOME\jre\lib\management\目录

b.拷贝jmxremote.password.template这个文件到当前目录, 并改名为jmxremote.password

c.打开jmxremote.password文件,去掉 # monitorRole  QED 和 # controlRole  R&D 这两行前面的注释符号

2. 修改远程机器上需要被监控的程序的配置文件 (我这里是监控Tomcat容器内部署的应用).

a.进入TOMCAT_HOME\bin目录

b.打开catalina.sh文件,加入如下信息:

JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.237

-Dcom.sun.management.jmxremote.port=18999

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false"

c.重启Tomcat服务.

3. 客户端VisualVM配置 (我客户端用的是WinXP).

a.直接反键点击Remote,选择Add Remote Host...

b.在弹出的界面中输入远程机器的IP地址(192.168.0.237),这个IP地址会加入到Remote节点下.

c.反键点击这个IP地址,选择Add JMX Connection, 在弹出的界面中输入刚配置的端口号(18999), 这个连接会加入到该IP节点下.

d.反键点击这个连接,选择Open.

此时就可以看到监控的界面, 从界面上我们可以看到CPU信息, 内存信息, 统计加载类数量,线程信息.

时间: 2024-08-01 17:22:13

visualvm以jmx方式连接的相关文章

VisualVM通过JMX远程连接JVM

如果本地安装了JDK,则在${java.home}/bin/下可找到jvisualvm.exe,双击打开即可使用.否则,去官网下载一个,解压即可使用.现有一个springboot程序springbootdemo.jar,使用JDK中jvisualvm的JMX方式监控该JVM 一.查询hostname 二.检查hostname对应ip地址 下面是新装虚拟机hostname对应ip地址 三.查询当前机器供外网访问的ip地址 本机ip地址为192.168.102.31  四.将hostname对应ip

[工具使用] visualvm 通过jmx不能连接

远程服务器,通常配置下jmx,然后用visualvm连接然后监控. 但昨天自己的一台测试服务器上,正确配置了jmx还是不能连接上去. 后来参考了 https://bjddd192.github.io/java/2017/03/14/%E8%A7%A3%E5%86%B3jmx%E8%BF%9C%E7%A8%8B%E8%B0%83%E7%94%A8%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E7%9A%84%E9%97%AE%E9%A2%98.html 果真是这个问题.

jvm远程监控配置,以openfire为例,jmx方式监控

我们有时候需要远程的监控jvm,监控jvm有两种方式: 1.jmx               #测试能监控cpu和内存,线程 2.jstatd          #测试后发现无法监控cpu和内存,线程 由此用jmx来监控,jmx的连接有两种方式rmi和jmxmp 1.以生产环境openfire3.10为例: openfire采用源码的形式安装: 修改 openfire的启动脚本 /var/openfire/bin/openfire.sh,在OPENFIRE_OPTS参数中添加jmx的配置 (t

win7 64 VC++ ado方式连接access 连接字符串

运行环境:win7 64       vc++6.0       office 2007  32位(access 2007) 我用的是ado方式连接access数据库,(现在的Win7系统中安装的一般都是32位的Office,因为微软推荐使用32位的Office,兼容性更强,稳定性更好.access文件是.mdb(2003格式,会提示没有jet访问组件) .accdb(2007格式)),因此需要安装AccessDatabaseEngine_X64.exe驱动,安装时会提示先卸载office再安装

jmeter中通过jdbc方式连接mysql数据库的配置参考

jmeter中通过jdbc方式连接mysql数据库的配置参考: Database URL=jdbc:mysql://ip:port/dbname?useUnicode=true&characterEncoding=UTF-8 JDBC Driver class=com.mysql.jdbc.Driver jmeter中配置截图:

LAMP编译安装(fpm方式连接PHP和HTTPD)

这篇文章主要做一下PHP以fpm的方式连接httpd来工作的实验.php的fpm模式,简单点说就是php可以作为一台独立的服务器来提供服务,而不是像上一篇文章一样以httpd程序模块的方式工作.这次我将把每个服务单独安装在一台服务器上来工作. 一.拓扑图:图片遮挡了,mysql(10.0.0.105) 二.平台及软件 系统:centos6.4 2.6.32-358.el6.x86_64:要装上开发库Development tools  yum groupinstall "Development 

Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案

首先,我们要弄清楚三种常见的连接方式中的桥接方式的网络结构: .bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机器处于同一网段,这样虚拟系统才能和宿主机器进行通信.同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网. 使用桥接模式的虚拟系统和宿主机器的关

通过Apache的httpClient的post方式连接服务器

客户端的代码是: package lgx.java.test; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; im

java thin方式连接oracle数据库

本文主要描述通过thin方式连接oracle数据库 1.创建web project ,将D:\oracle\product\10.2.0\db_1\jdbc\lib(oracle安装目录)下的ojdbc14.jar拷贝至项目WEB-INF目录下lib路径中. 2.创建数据库连接文件: ConnectDB.java: package com.gree.db; import java.sql.Connection;import java.sql.DriverManager;import java.s