码迷,mamicode.com
首页 > 其他好文 > 详细

jvmstat监控jvm内存

时间:2015-05-28 17:36:30      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

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

   

jvmstat监控jvm内存

标签:

原文地址:http://www.cnblogs.com/cuyt/p/4536363.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!