VisualVM监控JVM

Posted 旋风百草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VisualVM监控JVM相关的知识,希望对你有一定的参考价值。

VisualVM远程监控JVM

内存溢出问题

方式一:jststd

[[email protected]]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
[[email protected]]# cd /usr/java/jdk1.7.0_79/bin/
[[email protected]]# vim jstatd.all.policy 
  1 grant codebase "file:/usr/java/jdk1.7.0_79/lib/tools.jar" {
  2     permission java.security.AllPermission;
  3 };
###以守护进程方式运行
[[email protected]]#  ./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=IP & 

 

遇到的问题:

Could not create remote object  
access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")  
java.security.AccessControlException: access denied ("java.util.PropertyPermission" "java.rmi.server.ignoreSubClasses" "write")  
        at java.security.AccessControlContext.checkPermission(AccessControlContext.java:366)  
        at java.security.AccessController.checkPermission(AccessController.java:560)  
        at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)  
        at java.lang.System.setProperty(System.java:781)  
        at sun.tools.jstatd.Jstatd.main(Jstatd.java:139)  

原因:$JAVA_HOME即(/usr/java/jdk1.7.0_79/)填错
安全最好配置JAVA_HOME

方式2:

1. 修改远程机器JDK配置文件 (我这里远程机器是linux).
   a.进入JAVA_HOME\jre\lib\management\目录
   b.拷贝jmxremote.password.template这个文件到当前目录, 并改名为jmxremote.password
     c.打开jmxremote.password文件,去掉 # monitorRole  QED 和 # controlRole  R&D 这两行前面的注释符号

2. 修改远程机器上需要被监控的程序的配置文件 

   a.进入JAVA_HOME\bin

   b.打开catalina.sh文件,加入如下信息:
        JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=IP    
                                                                                                             

                                                     -Dcom.sun.management.jmxremote.port=18999
                                                     -Dcom.sun.management.jmxremote.ssl=false 
                                                     -Dcom.sun.management.jmxremote.authenticate=false"
   c.重启Tomcat服务.

VisualVM下载地址:visual.java.net/download.html

以上是关于VisualVM监控JVM的主要内容,如果未能解决你的问题,请参考以下文章

visualVM远程监控JVM

JVM探秘:VisualVM监控远程Java进程

JVM虚拟机专题之图形化监控工具-VisualVM

使用VisualVM远程监控JVM Linux服务器配置方法

使用Java visualVM监控远程JVM

使用visualvm远程监控LINUX服务器JVM