`

VisualVM远程监控

    博客分类:
  • java
阅读更多

VisualVM是集成了多个JDK命令工具的一个可视化工具,它主要用来监控JVM的运行情况,可以用它来查看和浏览Heap Dump、Thread Dump、内存对象实例情况、GC执行情况、CPU消耗以及类的装载情况。

在JDK Update7之后,VisualVM作为JDK的一部分发布,但同时VisualVM也发布独立的版本。VisualVM必须运行在JDK1.6以上的VM环境下,但可以用它来监控JDK1.4以上的JVM。

 

下载地址:https://visualvm.dev.java.net/files/documents/7163/144406/visualvm_12.zip

 

一,监控本机JVM

如果要监控本机的JVM运行情况,只要打开VisualVM,JVM会自动被添加到VisualVM中进行监控

visualVM1

如上图,VisualVM本身也是一个Java应用程序,因此它自己监控自己JVM的运行情况,只要双击Local –> VisaulVM,右边就可以进行各项指标的浏览。

visualVM2

 

注:读者看到的标签可能会随着安装的插件不同而有所区别,VisualVM的插件可以通过Tools –>  Plugins 来安装

 

 

二,监控远程JVM

VisualVM监控远程JVM是通过RMI服务器来实现的,因此需要在被监控的远程服务器上启动RMI服务

1,启动RMI服务

在需要被监控的服务器上面,通过jstatd 来启动RMI服务

首先,配置java安全访问,将如下的代码存为文件 jstatd .all.policy:

Java代码 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="14" height="15" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"> <param name="flashvars" value="clipboard=grant%20codebase%20%22file%3A%24%7Bjava.home%7D%2F..%2Flib%2Ftools.jar%22%20%7B%0A%20%20%20%20permission%20java.security.AllPermission%3B%0A%20%20%7D%3B"> <param name="src" value="http://fangrn.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf"> <embed type="application/x-shockwave-flash" width="14" height="15" src="http://fangrn.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=grant%20codebase%20%22file%3A%24%7Bjava.home%7D%2F..%2Flib%2Ftools.jar%22%20%7B%0A%20%20%20%20permission%20java.security.AllPermission%3B%0A%20%20%7D%3B"></embed></object>
  1. grant codebase  "file:${java.home}/../lib/tools.jar"  {  
  2.     permission java.security.AllPermission;  
  3.   };  
grant codebase "file:${java.home}/../lib/tools.jar" {
    permission java.security.AllPermission;
  };
 然后通过如下的命令启动RMI服务:
Java代码 <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="14" height="15" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"> <param name="flashvars" value="clipboard=jstatd%20-J%20-Djava.security.policy%3Djstatd.all.policy"> <param name="src" value="http://fangrn.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf"> <embed type="application/x-shockwave-flash" width="14" height="15" src="http://fangrn.iteye.com/javascripts/syntaxhighlighter/clipboard_new.swf" flashvars="clipboard=jstatd%20-J%20-Djava.security.policy%3Djstatd.all.policy"></embed></object>
  1. jstatd -J -Djava.security.policy=jstatd.all.policy  
jstatd -J -Djava.security.policy=jstatd.all.policy

 

上面启动的RMI服务的端口是1099,如果需要以其它端口启动RMI服务,请查看官方文档:http://java.sun.com/j2se/1.5.0/docs/tooldocs/share/jstatd .html

 

2,启动VisualVM,添加远程主机

右键单击Remote,选择Add Remote Host,输入远程主机的地址

visualVM3

如果远程服务器启动了RMI服务,VisualVM会自动显示主机上面的JVM

visualVM4

 

关于VisualVM连接远程JVM的错误,请查看Troubleshooting connection problems in JConsole 一 文,此文总结了连接时会遇到的各种问题,我开始通过VisualVM连接虚拟机中的JVM,总是 报:java.net.ConnectException: Connection refused: connect 错误,也是通过文章中所描述的关于通过NAT访问JVM问题解决的。

分享到:
评论

相关推荐

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

    在本文中,我们将详细探讨如何使用VisualVM来监控本地和远程的JVM实例。 1. **VisualVM概述** VisualVM是一个跨平台的工具,支持Windows、Linux和macOS等操作系统。它提供了丰富的图形界面,用户可以通过直观的...

    Java VisualVM远程监控配置

    NULL 博文链接:https://zizhu2012.iteye.com/blog/1612522

    jvisualvm远程访问Linux环境中tomcat

    jvisualvm 是一个功能强大且功能丰富的 Java 监控和 profiling 工具,它可以远程访问和监控 Java 应用程序,包括 Tomcat 应用服务器。下面将详细介绍如何使用 jvisualvm 远程访问 Linux 环境中的 Tomcat。 jdk 的...

    jvisualvm操作手册for linux菜鸟

    在使用VisualVM远程监控JVM之前,需要准备好测试环境。我们需要在服务器上配置jstatd守护程序,并在客户端使用VisualVM连接服务器监控Java程序。 ### 2.2 在服务器上配置 jstatd 的 security policy 文件 在服务器...

    VisualVm虚拟机监控工具

    VisualVM支持JMX(Java Management Extensions),允许远程监控和管理Java应用程序。开发者可以通过JMX连接到应用,获取运行时信息,甚至修改应用程序的配置。 六、插件扩展性 VisualVM的一大亮点是其强大的插件...

    可视化性能监控工具VisualVM

    2. **连接远程JVM**:如果需要监控远程Java应用,需要在目标机器上配置JDK的`jvm.options`文件,开启远程监控端口,然后在VisualVM中添加远程主机。 3. **选择分析模块**:根据需求选择合适的分析模块,例如选择...

    java 远程监控程序JSN

    Java远程监控程序JSN是一种用于监视和管理分布式Java应用程序的工具。它允许开发者或系统管理员在不中断应用程序运行的情况下收集性能...通过有效利用JMX、JConsole、VisualVM等工具,可以构建强大的远程监控解决方案。

    java远程监控,有源码的

    Java远程监控是一个重要的技术领域,它允许开发者或系统管理员在远离目标系统的地方收集、分析和管理应用程序的运行状态。在Java中实现远程监控通常涉及到JMX(Java Management Extensions)框架,这是一种标准的...

    jvm监控工具visualVM

    支持通过JMX(Java Management Extensions)接口远程监控Java应用,获取自定义的MBean(Managed Beans)信息。 6. **内存快照** 提供内存快照功能,可以对比不同时间点的内存分配情况,帮助识别内存泄漏。 7. **...

    Java VisualVM监控远程JVM(详解)

    在远程监控方面,VisualVM 支持两种连接方式:jstatd 和 JMX(Java Management Extensions)。本文将详细介绍如何通过 JMX 方式配置并监控远程的 JVM 进程。 首先,要通过 JMX 方式监控远程 JVM,需要在远程主机上...

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

    5. 确保"Use VisualVM for remote JVM debugging"选项被勾选,这样Idea会在远程调试时使用VisualVM。 6. 点击"OK"保存配置。 三、启动项目会自动弹出界面 1. 当你启动一个带有调试配置的Java项目时,如果配置了...

    catalina-jmx-remote包,版本是7.0.54

    用于windows通过VisualVM远程监控linux下的tomcat使用情况时所需要的jar包。可监控CPU、内存、类和线程。

    catalina-jmx-remote.jar

    用于windows通过VisualVM远程监控linux下的tomcat使用情况时所需要的jar包,写了一片关于使用的文章放在我的博客others分类下,大家可以去参考下。

    Java内存监控工具Java VisualVM

    如果目标是监控Tomcat服务器,则需要在`catalina.bat`文件中配置`JAVA_OPTS`环境变量来启用远程监控功能。具体配置如下: ```plaintext set JAVA_OPTS=-server-Xms1024m-Xmx1024m-XX:PermSize=128m-XX:MaxPermSize=...

    VisualVM 2.1.5 (visualvm-215.zip)

    6. **远程连接**:VisualVM支持远程连接到运行中的Java应用,使得不在本地的性能分析和故障排查成为可能。 7. **采样分析**:通过采样方法,收集应用程序运行时的数据,以统计方式分析程序行为。 8. **插件扩展**...

    apache-tomcat-8.0.35.32bit

    2. **JMX监控**:通过启用JMX,可以使用工具如JConsole或VisualVM远程监控Tomcat的性能和状态。 **总结** `apache-tomcat-8.0.35.32bit`是适用于32位系统的强大Java应用服务器,提供了丰富的功能和良好的性能。在...

    84_Java远程监控系统.zip

    Java远程监控系统是一种用于实时监测和管理分布式Java应用程序的技术,它可以帮助开发者和系统管理员了解应用的性能、资源消耗以及可能出现的问题。在这个名为"84_Java远程监控系统.zip"的压缩包中,很可能是包含了...

    visualvm_137中文版

    VisualVM支持JMX(Java Management Extensions),可以远程监控和管理Java应用程序,这对于分布式系统和集群环境尤其有用。 6. **插件扩展** VisualVM的可扩展性很强,拥有丰富的插件库。开发者可以根据需要安装...

    VisualVM 免费下载

    7.远程监控 8.CPU分析器 9.内存分析器 10.线程分析器 使用场景 性能调优:开发人员可以使用VisualVM来监控Java应用程序的性能指标,如CPU使用率、内存使用率等,从而快速定位性能瓶颈并进行优化。 故障排查:当Java...

Global site tag (gtag.js) - Google Analytics