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

  1. 在服务器上使用keytool创建密钥对
    keytool是java平台自带的一个密钥和证书管理工具,使用keytool创建密钥对:

    keytool -genkey -alias jetty -keystore /opt/home/lichengwu/jvm/ssl/jettyKeyStore
    

    按照提示输入相关信息(包括设定密码、姓、组织名等),这些信息是可以随便输入的,但从产品角度讲应该统一设定。输入的密码在今后操作中均需要使用。

  2. 导出公钥
    keytool -export -alias jetty -keystore /opt/home/lichengwu/jvm/ssl/jettyKeyStore -file /opt/home/lichengwu/jvm/ssl/jetty.cert
    
  3. 将公钥导入至需要运行VisualVM的机器。(我的是windows 放在 Z:\jvm\ssl\jetty.cert)
    keytool -import
    -alias jetty -keystore Z:\jvm\ssl\jettyKeyStore -file Z:\jvm\ssl\jetty.cert
  4. 修改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
  5. 使用如下参数启动VisualVM:
    VisualVM -J-Djavax.net.ssl.trustStore=Z:\jvm\ssl\jettyKeyStore
    

    监控

启动VisualVM,添加远程主机:


 输入远程主机地址:192.168.0.147


 修改端口,如果是默认端口,可可跳过


 添加JMX连接

完成后双击:

最新文章

  1. RASPBERRY PI 外设学习资源
  2. C# winform窗体设计-通过条件查询数据
  3. 解决rtl8723be无线网卡驱动频繁断网问题
  4. 九度OJ 1077 最大序列和 -- 动态规划
  5. frame与iframe的区别?
  6. Common.Logging源码解析二
  7. http请求的完整过程
  8. Q:算法(第四版)—第一章
  9. mysql常用基础操作语法(十二)~~常用数值函数【命令行模式】
  10. 基于ROS的运动识别
  11. week08 S8-01 docker images tensorflow-jupyter
  12. Spring中RedirectAttributes的用法
  13. 群晖上使用kvm(qemu)笔记[原创]
  14. 转载-js如何设置网页横屏和竖屏切换
  15. 【IT笔试面试题整理】判断链表是否存在环路,并找出回路起点
  16. js实现完美身份证号有效性验证(转)
  17. ReentrantLock锁的释放
  18. cpu-》内存-》磁盘
  19. XOR Queries(莫队+trie)
  20. OPEN(SAP) UI5 学习入门系列之二: 最佳实践练习(上)

热门文章

  1. smartctl----硬盘状态监控
  2. myeclipse集成svn
  3. QTP自带订票实现循环执行,參数化和将异常提示信息输出
  4. R语言基础-数组和列表
  5. Struts2值栈的相关操作
  6. angularjs1-路由
  7. angularjs1-3,工具方法,bootstrap,多个module,引入jquery
  8. 0x41 并查集
  9. svn是什么
  10. mysqli一些常用方法及详解