`
xtuhcy
  • 浏览: 143050 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JVM监控工具VisualVM的使用

    博客分类:
  • java
阅读更多

VisualVM是jvm的可视化监控工具

 

下载地址:http://visualvm.java.net/download.html

 

监控本地jvm很简单,这里不详细说了。

监控远程jvm的方法有2种

一、远程服务器启动jstatd守护进程

./jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.0.50 -J-Djava.rmi.server.logCalls=true -p 1011

 

 

1、 在JDK/bin下新建一文本文件, 名称 jstatd.all.policy
    内容如下:

    grant codebase "file:${java.home}/../lib/tools.jar" {
       permission java.security.AllPermission;
    };

2、 运行 jstatd -J-Djava.security.policy=jstatd.all.policy

      若需要指定端口, 请使用 -p 1011

      指定守护进程监听的ip(默认是127.0.0.1),请使用-J-Djava.rmi.server.hostname=192.168.0.50

      查看日志,请使用-J-Djava.rmi.server.logCalls=true

      另外注意防火墙,需要使用1011之外的其他端口

3、 在终端启动VisualVM.

 

二、JMX方式

1、JAVA_OPTS="Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmx
remote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Djava.rmi.server.hostname=192.168.0.50"

 

2、鉴权方法

jdk/jre/lib/management/jmxremote.access  定义了2种权限,读写和只读

 

monitorRole   readonly表示只能监控
controlRole   readwrite表示可以修改jmx的各项配置

可以添加任意用户,如:

admin readwrite

 

jdk/jre/lib/management/jmxremote.password

定义了jmxremote.access中的用户名的密码,如:

admin 111111

 

 

三、VisaulVM插件

菜单:工具->插件->可用插件(下载)

现在要下载的插件安装即可。几个有用的插件:

1、Visaul GC,可以参考详细的GC信息和内存使用情况,很详细哦。不过远程访问不支持JMX方式,必须用jstatd方式

 2、Visaul MBeans,jmx管理界面,可以管理应用中个所有mbean。如果使用spring,可以通过spring的jmx整合,将bean暴露出来,即可实时的修改各项应用配置。

3、Profile,cpu和内存性能分析,可以按照包名过滤不需要监控的类

3、BTrace,可以在不宕机的情况下调试代码。在visualVM上可以右键选中Trace Applicationg...打开BTrace窗口(只支持本地jvm),下面这个是查看某个方法的执行时间的示例:

/* BTrace Script Template */
import com.sun.btrace.annotations.*;
import static com.sun.btrace.BTraceUtils.*;

@BTrace
public class TracingScript {
    @TLS 
    private static long startTime = 0;
   
    @OnMethod(clazz="com.aspire.pams3.verify.audit.action.audit.AuditAction", method="getAuditContent")
    public static void startMethod() {
        startTime = timeMillis();
    }

    @OnMethod(clazz="com.aspire.pams3.verify.audit.action.audit.AuditAction", method="getAuditContent", location=@Location(Kind.RETURN))
    public static void endMethod() {
        print(strcat(strcat(name(probeClass()), "."), probeMethod()));
            print(" [");
            print(strcat("Time taken : ", str(timeMillis() - startTime)));
            println("]");
    }
}

如果需要在远程服务器执行,需要下载http://kenai.com/projects/btrace/downloads/directory/releases

将上面的代码保存为TracingScript.java

执行./btrace <pid> TracingScript.java

4、OQL,对象查询语言

分享到:
评论

相关推荐

    jvm监控工具visualVM

    VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...

    JVM性能监控工具VisualVM. Jconsole插件所需jar包 JTop.jar

    JVM性能监控工具VisualVM Jconsole插件所需jar包 JTop.jar 点击'JConsole Plugins'按钮 点击'Add JAR/Folder'按钮, 添加JDK_HOME/demo/management/JTop/JTop.jar7)重新打开监控页面,可以看到JConsole

    可视化性能监控工具VisualVM

    VisualVM允许用户实时监控CPU使用率、内存消耗、线程状态、类加载、垃圾收集等关键性能指标,是Java开发者优化代码、调试问题的重要助手。 一、VisualVM的主要功能 1. **内存分析**:VisualVM可以帮助开发者检测...

    visualvm监控jvm及远程jvm监控方法

    VisualVM是一款强大的Java虚拟机(JVM)性能分析和监视工具,由Oracle公司开发并提供。它集成了一系列功能,如内存分析...无论是本地还是远程,VisualVM都是一个强大且易用的JVM工具,值得在日常开发和调优工作中使用。

    jvm内存监控工具使用

    ### JVM内存监控工具详解 #### 引言 Java Virtual Machine (JVM) 是运行 Java 应用程序的核心组件,其性能直接影响应用的响应速度和稳定性。JVM 的内存管理是性能优化的关键,尤其是在高并发环境下,合理的内存...

    JVM监控工具,用来怎么提高JAVA的效率

    JVM监控工具能够显示CPU使用率,帮助我们识别CPU热点,从而定位性能瓶颈,优化代码逻辑,减少不必要的计算和I/O操作。 5. **GC性能优化**:垃圾收集(GC)是Java自动内存管理的一部分,但过度的GC活动可能导致应用...

    JVM 监控 调优 工具

    **JVM监控工具** 1. **JConsole**:这是Java SDK自带的一个图形化监控工具,可以查看JVM的内存使用情况、线程状态、类加载情况等。 2. **VisualVM**:功能更为强大的多合一JVM分析工具,提供CPU和内存分析、线程...

    最新版java JVM 工具 visualvm_20.zip

    1. **性能监控**:VisualVM可以实时监控Java应用程序的CPU使用率、内存分配、线程活动等关键指标。这对于识别性能瓶颈和调试内存泄漏问题非常有帮助。 2. **JMX支持**:通过Java Management Extensions (JMX),...

    idea中安装VisualVM监控jvm的图文教程

    Idea作为一款流行的Java集成开发环境,提供了方便的工具来实现这一目的,即通过安装VisualVM插件进行JVM监控。下面将详细介绍如何在Idea中安装和使用VisualVM。 一、安装VisualVM插件 1. 打开IntelliJ IDEA,进入...

    gp-jvm-visualvm

    gp-jvm-visualvm提供的工具可以帮助我们实时监控和分析堆栈的使用情况,以便及时发现并解决此类问题。 VisualVM是Java平台的一个强大的多用途工具,它集成了一系列性能分析和故障排查功能。通过VisualVM,我们可以...

    JVM性能监控方法之visualVM1

    ### JVM性能监控方法之...通过以上步骤和功能介绍,可以看出VisualVM是一款功能强大的JVM监控工具,对于提高Java应用程序的性能和稳定性具有重要作用。掌握其使用方法对于任何Java开发者或运维人员来说都是非常有益的。

    jvm监控工具

    JVM监控工具对于理解应用性能、优化内存使用、定位问题和故障排查至关重要。以下是一些关于JVM监控工具的重要知识点: 1. **JConsole**: JConsole是Java自带的一个图形化JVM监控工具,它可以显示关于Java应用程序的...

    VisualVM 使用详解

    VisualVM是一款由Oracle提供的免费、开源的可视化工具,用于监控和调试Java应用程序。该工具能够帮助开发者深入理解Java虚拟机(JVM)上的应用程序行为,提供了丰富的功能集合,如性能监控、内存分析、线程诊断等。...

    【转】Java内存泄露_JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    本篇将重点介绍几种常用的JVM监控工具,包括jstack、jconsole、jinfo、jmap以及jdb和jstat。 首先,`jstack`是一个用于打印Java线程堆栈跟踪的工具。当应用出现死锁或者线程阻塞时,jstack可以帮助我们查看各个线程...

    VisualVm虚拟机监控工具

    VisualVM是一款强大的Java虚拟机(JVM)监控和性能分析工具,由Oracle公司开发并提供。它集成了多种功能,包括内存分析、线程检查、CPU性能监视、类加载器和JMX bean的查看等,为Java开发者提供了深入洞察应用程序...

    JAVA JVM性能调优监控工具详解

    本文介绍了两种常见的JVM性能调优监控工具——`jps`和`jstack`的基本使用方法及实际应用场景。这些工具可以帮助开发者快速定位问题所在,提高系统的稳定性和响应速度。此外,对于更复杂的性能问题,还可以结合其他...

    jvisualvm来JVM监控

    总结,jvisualvm作为一款免费且功能齐全的JVM监控工具,为开发者提供了便利的性能分析环境。熟练掌握其使用,能有效提升我们的开发效率,确保Java应用程序的高效稳定运行。通过实际操作和不断实践,我们可以更好地...

    visualvm中文版

    作为一款JVM监控工具,VisualVM可以帮助开发者监控Java应用程序的性能指标,如CPU使用率、内存占用、线程状态等。通过对这些数据的分析,开发者可以找出程序的瓶颈,进行性能优化,提高应用的运行效率。 VisualVM的...

    JVM调优工具分享

    总的来说,JConsole和VisualVM都是强大的JVM监控工具,它们提供了丰富的功能来协助开发者进行性能优化。JConsole简洁易用,适合日常的基本监控;而VisualVM则更为全面,尤其在插件的支持下,可以进行深入的性能分析...

    Java自带的性能监控工具使用简介

    VisualVM 是 Java 6 自带的性能监控工具,可以监控 JVM 的性能,包括堆内存、线程、类加载等信息。VisualVM 可以远程监控 JVM,需要在远程机器上启动 jstatd 守护进程, 并在本地机器上使用 VisualVM 连接到远程机器...

Global site tag (gtag.js) - Google Analytics