zoukankan      html  css  js  c++  java
  • VisualVM监控JVM

    VisualVM远程监控JVM

    内存溢出问题

    方式一:jststd

    [root@work]# 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)
    [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_HOMEjrelibmanagement目录
       b.拷贝jmxremote.password.template这个文件到当前目录, 并改名为jmxremote.password
         c.打开jmxremote.password文件,去掉 # monitorRole  QED 和 # controlRole  R&D 这两行前面的注释符号

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

       a.进入JAVA_HOMEin

       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

  • 相关阅读:
    Mybatis 框架下 SQL 注入攻击的方式
    Vue 环境准备
    HTTP.sys漏洞的检测和修复(附补丁包下载)
    BPM工作流中的一些业务场景
    关系型数据库
    .NET中使用Redis总结——2.项目实战
    Java 开源项目整合
    在IIS 搭建FTP站点
    悲观锁和乐观锁详解
    C# 通过一个控制台打开另一个控制台
  • 原文地址:https://www.cnblogs.com/xfbc/p/5886109.html
Copyright © 2011-2022 走看看