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,对象查询语言
分享到:
相关推荐
VisualVM是一款强大的JVM(Java Virtual Machine)监控和性能分析工具,由Oracle公司开发并提供。它集成在Java SDK中,默认位于%JAVA_HOME%\bin目录下,方便开发者直接使用。这款工具提供了丰富的功能,帮助Java...
JVM性能监控工具VisualVM Jconsole插件所需jar包 JTop.jar 点击'JConsole Plugins'按钮 点击'Add JAR/Folder'按钮, 添加JDK_HOME/demo/management/JTop/JTop.jar7)重新打开监控页面,可以看到JConsole
VisualVM允许用户实时监控CPU使用率、内存消耗、线程状态、类加载、垃圾收集等关键性能指标,是Java开发者优化代码、调试问题的重要助手。 一、VisualVM的主要功能 1. **内存分析**:VisualVM可以帮助开发者检测...
VisualVM是一款强大的Java虚拟机(JVM)性能分析和监视工具,由Oracle公司开发并提供。它集成了一系列功能,如内存分析...无论是本地还是远程,VisualVM都是一个强大且易用的JVM工具,值得在日常开发和调优工作中使用。
### JVM内存监控工具详解 #### 引言 Java Virtual Machine (JVM) 是运行 Java 应用程序的核心组件,其性能直接影响应用的响应速度和稳定性。JVM 的内存管理是性能优化的关键,尤其是在高并发环境下,合理的内存...
JVM监控工具能够显示CPU使用率,帮助我们识别CPU热点,从而定位性能瓶颈,优化代码逻辑,减少不必要的计算和I/O操作。 5. **GC性能优化**:垃圾收集(GC)是Java自动内存管理的一部分,但过度的GC活动可能导致应用...
**JVM监控工具** 1. **JConsole**:这是Java SDK自带的一个图形化监控工具,可以查看JVM的内存使用情况、线程状态、类加载情况等。 2. **VisualVM**:功能更为强大的多合一JVM分析工具,提供CPU和内存分析、线程...
1. **性能监控**:VisualVM可以实时监控Java应用程序的CPU使用率、内存分配、线程活动等关键指标。这对于识别性能瓶颈和调试内存泄漏问题非常有帮助。 2. **JMX支持**:通过Java Management Extensions (JMX),...
Idea作为一款流行的Java集成开发环境,提供了方便的工具来实现这一目的,即通过安装VisualVM插件进行JVM监控。下面将详细介绍如何在Idea中安装和使用VisualVM。 一、安装VisualVM插件 1. 打开IntelliJ IDEA,进入...
gp-jvm-visualvm提供的工具可以帮助我们实时监控和分析堆栈的使用情况,以便及时发现并解决此类问题。 VisualVM是Java平台的一个强大的多用途工具,它集成了一系列性能分析和故障排查功能。通过VisualVM,我们可以...
### JVM性能监控方法之...通过以上步骤和功能介绍,可以看出VisualVM是一款功能强大的JVM监控工具,对于提高Java应用程序的性能和稳定性具有重要作用。掌握其使用方法对于任何Java开发者或运维人员来说都是非常有益的。
JVM监控工具对于理解应用性能、优化内存使用、定位问题和故障排查至关重要。以下是一些关于JVM监控工具的重要知识点: 1. **JConsole**: JConsole是Java自带的一个图形化JVM监控工具,它可以显示关于Java应用程序的...
本篇将重点介绍几种常用的JVM监控工具,包括jstack、jconsole、jinfo、jmap以及jdb和jstat。 首先,`jstack`是一个用于打印Java线程堆栈跟踪的工具。当应用出现死锁或者线程阻塞时,jstack可以帮助我们查看各个线程...
VisualVM是一款强大的Java虚拟机(JVM)监控和性能分析工具,由Oracle公司开发并提供。它集成了多种功能,包括内存分析、线程检查、CPU性能监视、类加载器和JMX bean的查看等,为Java开发者提供了深入洞察应用程序...
本文介绍了两种常见的JVM性能调优监控工具——`jps`和`jstack`的基本使用方法及实际应用场景。这些工具可以帮助开发者快速定位问题所在,提高系统的稳定性和响应速度。此外,对于更复杂的性能问题,还可以结合其他...
总结,jvisualvm作为一款免费且功能齐全的JVM监控工具,为开发者提供了便利的性能分析环境。熟练掌握其使用,能有效提升我们的开发效率,确保Java应用程序的高效稳定运行。通过实际操作和不断实践,我们可以更好地...
总的来说,JConsole和VisualVM都是强大的JVM监控工具,它们提供了丰富的功能来协助开发者进行性能优化。JConsole简洁易用,适合日常的基本监控;而VisualVM则更为全面,尤其在插件的支持下,可以进行深入的性能分析...
VisualVM 是 Java 6 自带的性能监控工具,可以监控 JVM 的性能,包括堆内存、线程、类加载等信息。VisualVM 可以远程监控 JVM,需要在远程机器上启动 jstatd 守护进程, 并在本地机器上使用 VisualVM 连接到远程机器...
作为一款JVM监控工具,VisualVM可以帮助开发者监控Java应用程序的性能指标,如CPU使用率、内存占用、线程状态等。通过对这些数据的分析,开发者可以找出程序的瓶颈,进行性能优化,提高应用的运行效率。 VisualVM的...