jvmstat监控jvm内存

1、下载jvmstat-3_0.zip;

 

2、配置环境变量JVMSTAT_JAVA_HOME为jdk目录E:\Program Files\Java\jdk1.5.0_12

 

3、监控本机:

     jps查看jvm进程id

          E:\Program Files\Java\jdk1.5.0_12\jvmstat\bat>jps

 

         7552 Bootstrap

         3008 Jps

         7916

         7108

         打开visualgc查看内存使用情况

         E:\Program Files\Java\jdk1.5.0_12\jvmstat\bat>visualgc 7552

     

4、监控远程服务器

         服务器新建安全策略文件,因为jdk对jvm做了jaas的安全检测,必须设置策略,使得jstatd允许网络操作。

         新建jvmstat.policy,内容如下

grant codebase "file:${java.home}/../lib/tools.jar" {

    permission java.security.AllPermission;

};

        

         服务器运行jstatd命令 

   $JAVA_HOME/bin/jstatd -J-Djava.rmi.server.hostname=10.8.1.126 -J-Djava.security.policy=/home/test/jvmstat.policy

 

         客户端执行

     E:\Program Files\Java\jdk1.5.0_12\jvmstat\bat>visualgc.cmd 31029@10.8.1.126

         31029为服务端jvm进程id,可通过jps命令列出

5、常见错误:

  如果没有建立安全策略会报错误:

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:374)

         at java.security.AccessController.checkPermission(AccessController.java:546)

         at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)

         at java.lang.System.setProperty(System.java:725)

         at sun.tools.jstatd.Jstatd.main(Jstatd.java:122)

 

  如果没有  -J-Djava.rmi.server.hostname=10.8.1.126 参数则客户端执行visualgc命令会报

Remote Exception attaching to rmi://31029@10.8.1.126

   

posted @ 2015-05-28 16:57  灬雨  阅读(1744)  评论(0编辑  收藏  举报