利用VisualVM监视远程JVM
VisualVM介绍
VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。
在JDK Update7之后,VisualVM作为JDK的一部分发布,但同时VisualVM也发布独立的版本。VisualVM必须运行在JDK1.6以上的VM环境下,但可以用它来监控JDK1.4以上的JVM
下载地址:http://visualvm.java.net/download.html
配置jetty------匿名
修改启动脚本:
vi /srv/jetty6/mtct
在RUN_CMD后面追加:
#指定hostname 一般情况需要重新指定hostname,否则连接不成功
-Djava.rmi.server.hostname=192.168.0.147
#指定hostname 指定端口默认:1099
-Dcom.sun.management.jmxremote.port=8899
#禁止ssl连接
-Dcom.sun.management.jmxremote.ssl=false #禁止用户认证
-Dcom.sun.management.jmxremote.authenticate=false
另一种配置------认证配置
#指定hostname 一般情况需要重新指定hostname,否则连接不成功
-Djava.rmi.server.hostname=192.168.0.147
#指定hostname 指定端口默认:1099
-Dcom.sun.management.jmxremote.port=8899
#禁止ssl连接
com.sun.management.jmxremote.ssl=false #开启用户认证
com.sun.management.jmxremote.authenticate=true #认证用户名密码
-Dcom.sun.management.jmxremote.password.file=/opt/home/lichengwu/jvm/management/jmxremote.password
#访问模式
-Dcom.sun.management.jmxremote.access.file=/opt/home/lichengwu/jvm/management/jmxremote.access
注意:jmxremote.password和jmxremote.access文件只允许启动用户名对该文件拥有读写权限 ,我们服务用root启动 所以:
[root@dog:management]# chmod 600 *
[root@dog:management]# chown root:root *
[root@dog:management]# ll
total 8
-rw------- 1 root root 29 Nov 14 16:38 jmxremote.access
-rw------- 1 root root 26 Nov 14 16:38 jmxremote.password
[root@dog:management]#
如果权限设置不正确会报错:Error: Password file read access must be restricted
jmxremote.password模板:
[用户名] [密码]
mtct ct.meituan
test test
jmxremote.access模板:
[用户名] [权限]
mtct readwrite
test readonly
第三种配置------SSL
参考:http://download.oracle.com/javase/1.5.0/docs/guide/management/agent.html#SSL_enabled
- 在服务器上使用keytool创建密钥对
keytool是java平台自带的一个密钥和证书管理工具,使用keytool创建密钥对:keytool -genkey -alias jetty -keystore /opt/home/lichengwu/jvm/ssl/jettyKeyStore
按照提示输入相关信息(包括设定密码、姓、组织名等),这些信息是可以随便输入的,但从产品角度讲应该统一设定。输入的密码在今后操作中均需要使用。
- 导出公钥
keytool -export -alias jetty -keystore /opt/home/lichengwu/jvm/ssl/jettyKeyStore -file /opt/home/lichengwu/jvm/ssl/jetty.cert
- 将公钥导入至需要运行VisualVM的机器。(我的是windows 放在 Z:\jvm\ssl\jetty.cert)
keytool -import
-alias jetty -keystore Z:\jvm\ssl\jettyKeyStore -file Z:\jvm\ssl\jetty.cert - 修改jetty的启动脚本
将-Dcom.sun.management.jmxremote.ssl="false
"
修改为:
-Dcom.sun.management.jmxremote.ssl="true
"
,并添加:
-Djavax.net.ssl.keyStore=/opt/home/lichengwu/jvm/ssl/jettyKeyStore
-Djavax.net.ssl.keyStorePassword=123456 - 使用如下参数启动VisualVM:
VisualVM -J-Djavax.net.ssl.trustStore=Z:\jvm\ssl\jettyKeyStore
监控
启动VisualVM,添加远程主机:
输入远程主机地址:192.168.0.147
修改端口,如果是默认端口,可可跳过
添加JMX连接
完成后双击:
利用VisualVM监视远程JVM的更多相关文章
- 使用Java VisualVM监控远程JVM
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...
- Java VisualVM监控远程JVM
我们经常需要对我们的开发的软件做各种测试, 软件对系统资源的使用情况更是不可少, 目前有多个监控工具, 相比JProfiler对系统资源尤其是内存的消耗是非常庞大,JDK1.6开始自带的VisualV ...
- visualvm监控jvm及远程jvm监控方法(转)
VisualVM是Sun的一个OpenJDK项目,其目的在于为Java应用创建一个整套的问题解决工具.它集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览H ...
- 利用VisualVm和JMX远程监控Java进程
自Java 6开始,Java程序启动时都会在JVM内部启动一个JMX agent,JMX agent会启动一个MBean server组件,把MBeans(Java平台标准的MBean + 你自己创建 ...
- JVM 利用 VisualVM 对高并发项目进行性能分析(转)
出处: 深入理解 Java 虚拟机-如何利用 VisualVM 对高并发项目进行性能分析 前面在学习JVM的知识的时候,一般都需要利用相关参数进行分析,而分析一般都需要用到一些分析的工具,因为一般使 ...
- 使用VisualVM监控远程服务器JVM
VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...
- visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决
visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决 JMX方式: 编辑Tomact里bin目录的catalina.sh . 在其头部加入 JAVA_OPTS=" -Dco ...
- VisualVM监控远程服务器JVM
VisualVM是JDK自带的一款全能型性能监控和故障分析工具,包括对CPU使用.JVM堆内存消耗.线程.类加载的实时监控,内存dump文件分析,垃圾回收运行情况的可视化分析等,对故障排查和性能调优很 ...
- VisualVM连接远程Java进程
jstatd是一个RMI(Remove Method Invocation)的server应用,用于监控jvm的创建和结束,并且提供接口让监控工具(如VisualVM)可以远程连接到本机的jvms . ...
随机推荐
- POJ 1948
这道题我记得是携程比赛上的一道. 开始时想直接设面积,但发现不可以,改设能否构成三角形.设dp[i][j][k]为前i根木棍构成边长为j和k的三角形,那么转移可以为dp[i][j][k]=dp[i-1 ...
- POJ 3737
第一道三分题,有模板 #define eps 10e-6 double cal(){}//计算题目所需要的值 while(l+eps<r) { m1=l+(r-l)/3; m2=r-(r-l)/ ...
- 安装ftp碰到的问题及解决方法
1 CRT显示乱码: 本地windows机器.改动SecureCRT的设置.找到"选项"->"会话选项"->"外观" ...
- MFC 与Excel文件的交互操作
假日快要结束了.带着沉重的心情写下之前关于MFC与Excel文件交互的总结. 因为VS的版本号不同可能在操作上有些差异.所以在此指明下本篇文章的project环境为VS2013,也建议大家用最新的. ...
- UESTC--1265--宝贵资源(简单数学)
宝贵资源 Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu Submit Status Des ...
- UESTC--1262--Memory(dfs)
Memory Time Limit: 1000MS Memory Limit: 65535KB 64bit IO Format: %lld & %llu SubmitStatus De ...
- ROS-package.xml文件标签解读
前言:package.xml是一个XML文件名为package.xml中必须包括与任何兼容包的根文件夹.此文件定义有关包的属性,例如包名称,版本号,作者,维护者以及其他catkin包的依赖关系. 标签 ...
- php.ini控制文件上传大小配置项
; Whether to allow HTTP file uploads.file_uploads = On ; Temporary directory for HTTP uploaded files ...
- sql server 启用数据库的 Service Broker
使用SqlDependency时要开启Service Broker ,那么SqlDependency是什么 https://www.cnblogs.com/zhaoyihao/p/5663258.ht ...
- struts2学习之基础笔记5
第十章 Struts 2的输入校验 1 Struts 2 输入校验原理 a . 分类 validate()方法校验 b . validation框架校验 2 valibate()方法校验实现 步骤 ...