2015-03-11 18:37 1394人阅读 评论(0) 收藏 举报
 分类:
VisualVM(8) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

目录(?)[+]

 

Java虚拟机性能管理神器 - VisualVM(5)  监控远程主机上的JAVA应用程序

使用VisualVM监控远程主机上JAVA应用程序时,需要开启远程主机上的远程监控访问,或者在远程JAVA应用程序启动时,开启远程监控选项,两种方法,选择其中一种就可以开启远程监控功能,配置完成后就可以在本地对远程主机上的JAVA应用程序进行监控。

1.远程服务器、应用程序配置

1.1配合jstatd工具提供监控数据

1.1.1创建安全访问文件

在JAVA_HOME/bin目录中,创建名称为jstatdAllPolicy文件(这个文件名称也可以顺便起,不过要与jstatd启动时指定名称相同),将以下内容拷贝到文件中。并保证文件的权限和用户都正确。

grant codebase"file:${java.home}/../lib/tools.jar"{ permission java.security.AllPermission; };

1.1.2启动jstatd服务

在JAVA_HOME/bin目录中,执行以下命令:

./jstatd -J-Djava.security.policy=jstatdAllPolicy-p 1099 -J-Djava.rmi.server.hostname=192.168.xxx.xxx

        jstatd命令描述以及参数说明:

jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。

-J-Djava.security.policy=jstatdAllPolicy 指定安全策略文件名称

-p 1099  指定启动端口

-J-Djava.rmi.server.hostname=192.168.xxx.xxx  指定本机IP地址,在hosts文件配置不正常时使用,最好加上。

1.2JVM启动时配置远程监控选项

在需要远程监控的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.xxx.xxx

2.本地VisualVM配置

在本地VisualVM的应用程序窗口,右键单击【远程】》【添加远程主机】》【主机名】中输入远程主机的IP地址,点击【高级设置】输入远程主机开启的监控端口,点击【确定】完成配置。

如果一切正常,就可以看到远程主机上的JAVA应用程序了。

3.常见问题

3.1jstatd启动异常

启动jstatd时报错,主要原因应该是没有配置安全管理文件或者安全管理文件内容错误,另外就是因为启动的时候没有指定本机IP地址或者端口。

3.2正常启动jstatd后,本地VisualVM配置远程主机无法显示监控信息

3.2.1防火墙

一般情况下是使用以下命令关闭防火墙

  1. [test@master bin]#  service iptables stop
  2. 清除防火墙规则:                                           [确定]
  3. 把 chains 设置为 ACCEPT 策略:filter                       [确定]
  4. 正在卸载 Iiptables 模块:                                  [确定]
  5. [test@master bin]#  service iptables status
  6. 防火墙已停
  7. [test@master bin]#

3.2.2JDK版本不一致

如果使用本机JAVA安装包的的JVisualVM来监控远程应用程序,JDK远程主机的版本和本地JDK版本差别较大就会出现类似问题。需要统一版本,或者下载VisualVM来监控。

3.2.3IP地址或者端口配置错误

通过确定远程主机的IP地址或者端口来解决。

Java虚拟机性能管理神器 - VisualVM(5) 监控远程主机上的JAVA应用程序【转】的更多相关文章

  1. Java虚拟机性能管理神器 - VisualVM(1) 简介 - JVM轻量级监控分析神器

    目录(?)[-] 一VisualVM是什么 二如何获取VisualVM 三获取那个版本 四VisualVM能做什么 显示JAVA应用程序配置和运行时环境 显示本地和远程JAVA应用程序运行状态 监控应 ...

  2. Java虚拟机性能管理神器 - VisualVM(3) 插件安装与更新路径配置

    Java虚拟机性能管理神器 - VisualVM(3)  插件安装与更新路径配置 插件路径地址配置方法: VisualVM打开后,会发现功能比较单一,只有概述.监视.线程.抽样器.Profiler五个 ...

  3. Java虚拟机性能管理神器 - VisualVM(2) 入门

    一下载VisualVM 最新版本下载 历史版本下载 二启动VisualVM 三VisualVM用户目录 四VisualVM窗口 1应用程序窗口 2详情窗口 五VisualVM插件   Java虚拟机性 ...

  4. Java虚拟机性能管理神器 - VisualVM(7) 排查JAVA应用程序线程泄漏【转】

    Java虚拟机性能管理神器 - VisualVM(7) 排查JAVA应用程序线程泄漏[转] 标签: javajvm线程泄漏 2015-03-11 19:47 1098人阅读 评论(0) 收藏 举报   ...

  5. Java虚拟机性能管理神器 - VisualVM(8) 查找JAVA应用程序耗时的方法函数【转】

    Java虚拟机性能管理神器 - VisualVM(8) 查找JAVA应用程序耗时的方法函数[转] 标签: javajvm监控工具性能优化 2015-04-07 16:47 1846人阅读 评论(0)  ...

  6. Java虚拟机性能管理神器 - VisualVM(2) 入门【转】

    Java虚拟机性能管理神器 - VisualVM(2) 入门[转] 标签: java插件jvm监控工具入门 2015-03-11 16:54 955人阅读 评论(0) 收藏 举报  分类: Visua ...

  7. Java虚拟机性能管理神器 - VisualVM(4) - JDK版本与VisualVM版本对应关系

    Java虚拟机性能管理神器 - VisualVM(4)    -  JDK版本与VisualVM版本对应关系 JDK版本与VisualVM版本对应关系说明 JDK版本与VisualVM版本对应关系 参 ...

  8. Java虚拟机性能管理神器 - VisualVM(6) 排查JAVA应用程序内存泄漏【转】

    Java虚拟机性能管理神器 - VisualVM(6) 排查JAVA应用程序内存泄漏[转] 标签: javajvm内存泄漏监控工具 2015-03-11 18:30 1870人阅读 评论(0) 收藏  ...

  9. Java虚拟机性能管理神器 - VisualVM(9) 排查JAVA应用程序线程死锁【转】

    Java虚拟机性能管理神器 - VisualVM(9) 排查JAVA应用程序线程死锁[转] 标签: javajvm监控工具性能优化 2015-03-11 19:59 1948人阅读 评论(0) 收藏  ...

随机推荐

  1. jQuery 引入多个库文件冲突

    index.html <head><meta http-equiv="Content-Type" content="text/html; charset ...

  2. 3、发送第一个api请求

    接口地址:https://www.v2ex.com/api/topics/latest.json Method: GET Authentication: None 我们打开postman,方法选择ge ...

  3. POJ 3761 Bubble Sort

    题目链接:https://vjudge.net/problem/POJ-3761 转自:https://blog.csdn.net/cscj2010/article/details/7820906 题 ...

  4. Rabbit MQ 客户端 API 开发

    项目开始 第一步首先需要引入对应的 jar 包 <!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --> & ...

  5. Nginx:413 Request Entity Too Large 的解决方法

    报错信息413 Request Entity Too Large 解决方法: (20M大小,自己调节,根据文件大小.)修改 php 的配置文件 /etc/php5/fpm/php.ini upload ...

  6. javascript es6 语法快速入门

    1. let.const 作用:let 声明变量,const 声明常量 与 var 的区别:不能重复声明,且存在块级作用域,即只在代码块内生效 2. 箭头函数 使用: let show = funct ...

  7. 28-Ubuntu-远程管理命令-02-查看网卡的配置信息

    命令 功能 ifconfig 查看网卡配置信息 ifconfig | grep inet 查看网卡对应的IP地址 ping  127.0.0.1 检测本地网卡是否正常 ping  IP地址 检测到目标 ...

  8. 【牛客网多校第一场】A

    题目链接:https://www.nowcoder.com/acm/contest/139/A 题意:大概就是给你0,1,2让你填矩阵问有多少种填法满足 a(i,j)<=a(i+1,j)以及a( ...

  9. 03->OpenGL多边形,glut实现三角形条带和三角形扇

    图形学中基本图元是多边形,一般要求是凸多边形,三角形是最简单的凸多边形,在图形渲染中比一般多边形其绘制速度快.今天学习OpenGL绘制三角形条带和三角形扇基础.编程环境! 1. 三角形条带 指定顶点序 ...

  10. AndroidStudio 搜索导入自己需要的库

    前言 在Androidx的库应用后,导致有需多系统组件库需要重新 implementation 升级为Androidx, 但是你可能会发现不知道怎么导入他们.  当然除了导入Android的组件库,还 ...