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

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

从左边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信息, 内存信息, 统计加载类数量,线程信息.

以上这篇Java VisualVM监控远程JVM(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

java vm 远程监控配置文件_Java VisualVM监控远程JVM(详解)相关推荐

  1. java 枚举使用简书_java枚举类型使用和详解

    1.定义 An enum type is a special data type that enables for a variable to be a set of predefined const ...

  2. java的sort的用法_Java排序方法sort用法详解

    Java排序方法sort用法详解 发布于 2020-2-28| 复制链接 摘记: 本文实例为大家分享了java对数组.集合的排序方法,供大家参考,具体内容如下对数组的排序: ```java //对数组 ...

  3. java中main是什么_Java中的main()方法详解

    在Java中,main()方法是Java应用程序的入口方法,也就是说,程序在运行的时候,第一个执行的方法就是main()方法,这个方法和其他的方法有很大的不同,比如方法的名字必须是main,方法必须是 ...

  4. java 事务回滚注解_Java Spring 事务回滚详解

    这篇文章主要介绍了java Spring事务回滚的相关资料,需要的朋友可以参考下 spring 事务回滚 1.遇到的问题 当我们一个方法里面有多个数据库保存操作的时候,中间的数据库操作发生的错误.伪代 ...

  5. java课程设计总结迷宫_Java课程设计走迷宫详解.doc

    Java语言与面向对象技术 课程设计报告 ( 2014 -- 2015年度第 1 学期) 走迷宫 目 录 目 录2 1 概 述1 1.1 课程设计目的1 1.2 课程设计内容1 2 系统需求分析2 2 ...

  6. java python c++比喻图_Java/Python/PHP/C++图文详解它们之间的尿性

    PHP:没有优点 Java:就是库多 Python:语法清晰 语法清晰 C:能操纵底层,最细粒度优化没有之一 C++:啥都有,啥都有,啥都有 等等等之类不在例举.直接上图吧. SQL: ps:千万别惹 ...

  7. java线程休眠sleep函数_Java多线程中sleep()方法详解及面试题

    一. Java线程生命周期(五个阶段) 新建状态就绪状态运行状态阻塞状态死亡状态 如图 二.sleep方法 API中的解释 static voidsleep(long millis) 使当前正在执行的 ...

  8. java读取json文件内容_java读取json文件内容详解

    之前给大家介绍了一下java读取txt文件内容,下面要给大家介绍的就是java读取json文件内容,一起来了解一下吧. 1.java读取json文件 下面是具体的思路: 首先是获取文件-获取文件内容- ...

  9. java的复合语句的作用_Java复合语句的使用方法详解

    与 C 语言及其他语言相同, Java 语言的复合语句是以整个块区为单位的语句,所以又称为块语句.下面我们来看看有关复合语句的使用方法和实例. 复合语句由开括号"{"开始,闭括号& ...

最新文章

  1. Python游戏开发:最强大脑第一关,数字华容道
  2. python随机生成四位验证码的代码_Python random随机生成6位验证码示例代码
  3. PANDAS 数据合并与重塑(concat篇) 原创 2016年09月13日 19:26:30 47784 pandas作者Wes McKinney 在【PYTHON FOR DATA ANALYS
  4. Revit Family API 添加参数与尺寸标注
  5. HDU 1518 Square
  6. python写cadance skill_《Cadence 16.6电路设计与仿真从入门到精通》——2.4 Design Entry CIS原理图图形界面...
  7. bean validation校验方法参数_项目启动时首先校验Spring Boot配置参数
  8. Sr Software Engineer - Big Data Team
  9. 案例解读:RMAN 备份控制文件报错 ORA-00230
  10. 机器学习中树模型算法总结之 决策树(上)
  11. SQL SERVER 跨服务器连接
  12. 强烈推荐一本MYSQL入门及复习的好书
  13. 人体姿态识别方案详解
  14. (c++课程设计)简单车辆管理系统(有五种类型的车辆)代码+报告
  15. 八数码问题BFS算法
  16. C++并发编程(7):条件变量(conditional variable)、wait( )与notify_one( )、spurious wakeups(虚假唤醒)
  17. poi excel 插入批注
  18. xgboost模型训练出来的错误Error during wrapup: NA/NaN argument
  19. SpringBoot 实现自定义钉钉机器人
  20. vue组件中引入public文件,build打包后找不到资源报错404

热门文章

  1. 2018 中国服务创新大会 | 早鸟票正式开售
  2. 音视频封装格式、编码格式知识
  3. c++协程4 (boost::coroutine)
  4. go的各种import
  5. 【HTML】HTML+CSS复习笔记
  6. 【Java基础】使用带有标签的break,跳出多层循环
  7. 一致性协议raft详解(三):raft中的消息类型
  8. Hive体系结构(二)Hive的执行原理、与关系型数据库的比较
  9. Leet Code OJ 2. Add Two Numbers [Difficulty: Medium]
  10. Leet Code OJ 226. Invert Binary Tree [Difficulty: Easy]