首页 > 代码库 > VisualVM监控JVM

VisualVM监控JVM

VisualVM远程监控JVM

内存溢出问题

方式一:jststd

[root@work]# java -versionjava 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)[root@work]# cd /usr/java/jdk1.7.0_79/bin/[root@bin]# vim jstatd.all.policy   1 grant codebase "file:/usr/java/jdk1.7.0_79/lib/tools.jar" {  2     permission java.security.AllPermission;  3 };###以守护进程方式运行[root@bin]#  ./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