使用Jvisualvm监控JVM

JDK版本必须为 : 1.6以上

测试成功的系统为 本机windws7 服务器:centos 6.2(服务器JDK一定要小于或等于你本机JDK版本)

 

首先:

# hostname -i 查看是否本机IP

 

如果是127.0.0.1 或其他,需要修改 /etc/hosts 文件将hostname绑定的IP设置为你的本机的IP

如:  192.168.16.116 yourhostname

 

yourhostname 是在 /etc/sysconfig/network  文件设置的主机名称  

如: hostname = XXXX

 

1 使用jstat 远程监控

 

在远程服务器(如ip:192.168.16.116) /home/lbe/ 目录下新建文件 jstatd.java.policy

 

内容:

 

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

保存后使用命令 jstatd -J-Djava.security.policy=/home/test/jstatd.java.policy -J-Djava.rmi.server.logCalls=true   启动jstatd

 

本机到JDK目录下运行 jvisualvm , 远程连接新建连接 192.168.16.116,确定后可见运行在服务器JVM实例

 

2使用JMX连接(可监控CPU)

 

远程服务器JVM参数中添加

如Tomcat 在 catalina.sh里添加

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1100 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.16.169"

 

本机到JDK目录下运行 jvisualvm , 新建远程连接 192.168.16.116

 

 

安装JvisualVM 插件 ,选择自己需要的插件, 便于我们更准确分析问题

如 : 点击 工具(Tools)  --->  插件(Plugins) --->新窗口中选择 可用插件 --->勾选 Visual GC ,  点击 安装

(重新开启JvisualVM,验证安装)

 

 

 

 

 

ok , 下面来通过JvisualVM 监控我们的程序

 

 

图片1:查看JVM配置

图片2 CPU 堆 ,类 以及线程(可以再此处 dump heap ):


 

 

图片3 PerGen:

 


图片4 CPU抽样, 此处可以看方法CPU占用情况

 


图片 5  内存profile

 


图片 6 安装插件Visual GC 图表

 


 

 

出现OOM时 , 通过在JVM中设置参数 :

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值