`
hanwangkun
  • 浏览: 41412 次
  • 性别: Icon_minigender_1
  • 来自: 漳州
社区版块
存档分类
最新评论

visualvm监控远程机器上的Java程序

    博客分类:
  • Java
阅读更多

    

JDK里面本身就带了很多的监控工具,如JConsole等。我们今天要讲的这款工具visualvm,就是其中的一款。但是这款工具是在JDK1.6.07及以上才有的。它能够对JAVA程序的JVM堆、线程、类加载情况、JVM GC情况进行监控,是一个很好的免费的监控工具。

监控范围:JDK1.4及以上版本的程序都能够监控。

它在JDK里面叫做: jvisualvm,当然我们可以到它的官方网站上去下载它的最新版本,当前最新版本是:

1.3.2,如下所示:


 

在图中已经列出了它的官方网站地址:

http://visualvm.java.net

首先,打开visualvm,它会自动检索到本地机器上java应用程序,如下图:

 双击它就可对它开始进行各项数据的监控了。

但是监控远程机器上的Java应用程序就没有这么简单了,需要进行相应的配置,首先我们来看下visualvm监控远程机器上Java应用程序的原理:



 

 

由上图可知,visualvm必须通过jstatd服务来取得远程机器上Java应用程序的运行数据。

所以我们得先在要监控的机器上启动jstatd服务(这个服务是在远程机器上启动的)

1、         首先在远程机器上配置好Java环境:

JAVA_HOMECLASSPATHPATH

配置完之后,在cmd里面通过:java  -versionjavac  -version,确定Java环境配置完成

2、         创建一个文件:jstatd.all.policy(名字可以变,扩展名不可以变),内容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {

       permission java.security.AllPermission;

};

 

这个文件的作用是让jstatd服务能够读取机器上的java应用程序的运行数据

3、         把这个文件放到:%JAVA_HOME%\bin目录下。

4、         打开cmd,把目录切到:%JAVA_HOME%\bin目录下,然后执行如下命令:

jstatd -J-Djava.security.policy=jstatd.all.policy

          这个时候,如果cmd是如下所示的状态,则说明jstatd服务启动成功



 

 

注:上面启动的jstatd服务,默认端口是1099,也可以在上面命令中指定端口号

按照上面的原理图,在远程机子上启动jstatd服务之后,visualvm就可以监控到远程机器上的JAVA应用程序了,按下面操作即可:

1、         在本地visualvm界面上添加远程主机:

在左边“应用程序”中,右击“远程”,选择“添加远程主机”



 

 

然后在弹出的对话框里面输入所要监控的远程主机的IP,如下所示:



 

 

刚开始进入时,不是这个对话框,点击“高级设置”就会展开余下的部分,就是上面所示的对话框,在里面可以设置远程机器上jstatd服务所用的端口号,默认是1099,可以通过勾选“显示名称”,在里面输入自己想要的远程主机名,最后点击确定即可。 

 

2、         展开刚所新建的远程主机,就可看到运行在远程机器上的JAVA应用程序了,如下所示:

 

 

通过双击里面的应用程序,就可以像本地应用程序一样,对它进行监控了。

到此,visualvm远程监控部分算是完成了。

最后需要注意的一点是,jdk6上的visualvm不能够监控到jdk7上的java应用程序,即使jstatd服务成功启动也不行。

 

   

  • 大小: 119.5 KB
  • 大小: 75.7 KB
  • 大小: 54.8 KB
  • 大小: 46.2 KB
  • 大小: 18.6 KB
  • 大小: 20.5 KB
  • 大小: 159.7 KB
分享到:
评论

相关推荐

    Java VisualVM监控远程JVM(详解)

    下面小编就为大家带来一篇Java VisualVM监控远程JVM(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Java VisualVM远程监控配置

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

    visualvm中文版

    visualvm,java jvm监控工具,可远程调试程序,idea下载-visualvm-launcher插件容易使用

    java内存监控工具jvisualvm

    监控工具VisualVM VisualVM... 从界面上看还是比较简洁的,左边是树形结构,自动显示当前本机所运行的Java程序,还可以添加远程的Java VM,其中括号里面的PID指的是进程ID。OverView界面显示VM启动参数以及该VM对应的一

    java虚拟机监控

    java 虚拟机监控,构建本地监控远程java虚拟机的visualvm应用,更加直观的分析java 应用的CPU、内存、堆/栈、线程等情况

    VisualVM介绍

    VisualVM安装、功能介绍、远程监控设置

    JAVA上百实例源码以及开源项目

    (1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...

    JAVA上百实例源码以及开源项目源代码

    (1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户可以在终端上直接地使用它,...

    JAVA JVM内存监控工具总结

    jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。 jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。 jmap:打印出...

    新一代Java开发工具 可视化编辑 测试运维自动化.rar

    VisualVM 是Netbeans的profile子项目,已在JDK...您可以查看本地应用程序或远程主机上运行的应用程序的相关数据。此外,还可以捕获有关 JVM 软件实例的数据,并将该数据保存到本地系统,以供后期查看或与其他用户共享。

    Linux_XForward.zip

    本工具包包含设置X11 Forward的详细指导和...方便远程监控服务器资源,尤其是部署了docker容器的Java进程。容器化了以后监控非常麻烦,通过本指导可以比较方便的在远程服务器进行监控,大大提升了我们的远程监控能力。

    jmxdemo.rar

    jmx的服务端和客户端的简单demo,是visualvm远程监控java项目的底层基础

    深入理解_Java_虚拟机 JVM_高级特性与最佳实践

    虚拟机堆转储快照分析工具 / 84 4.2.6 jstack:Java堆栈跟踪工具 / 85 4.3 JDK的可视化工具 / 87 4.3.1 JConsole:Java监视与管理控制台 / 88 4.3.2 VisualVM:多合一故障处理工具 / 96 4.4 本章小结 / 105 第5...

    Java虚拟机

    这本书的内容是帮你全面了解java虚拟机,本书第1版两年内印刷近10次,98%以上的评论全部为5星级的好评,是整个Java图书领域公认的经典著作和超级畅销书,繁体版在台湾也十分受欢迎。第2版在第1版的基础上做了很大的...

Global site tag (gtag.js) - Google Analytics