`
阅读更多

在多线程调试的时候用到了java的VisualVM工具,jdk1.6自动带了该工具。介绍下该工具的使用方法:

准备
在windows下由于以下原因会导致 Local Applications Cannot Be Detected (Error Dialog On Startup):
1. Java程序缺少读写Windows的临时目录的权限
2. Windows的临时目录是放在非NTFS分区(确切地说,是不支持ACL的分区)
所以我们必须保证以下两点
1. 重新授权,保证对Windows的临时目录有足够的权限
2. 运行需要监控的Java程序时加上参数-XX:+PerfBypassFileSystemCheck

打开jvisualvm.exe,VisualVM的应用程序窗口的本地节点就会自动显示本地系统上运行的java程序的名称和进程id
右击其中的一个本地应用/enable heap dump on oome/双击该本地应用
见图



 

 

监控,可以监控到如下环境
堆(Heap) 从图中我们可以看到 java.lang.OutOfMemoryError: Java heap space



 
 
内存永久保存区(PermGen)

线程
我们还可以执行垃圾回收和heapdump.可以查看每个类,每个实例的dump。查看实例的dump的方法是双击某个类名打开“实例”视图,以查看实例列表。

线程
可以查看每个线程的状态,以及Thread Dump.

性能分析器(Profiler)
可以分析本地应用程序的内存使用情况和 CPU 性能。

连接到远程主机

要从远程应用程序中检索数据,需要在远程 JVM 上运行 jstatd 实用程序。有关如何启动 jstatd 的更多信息 请参见 jstatd - Virtual Machine jstat Daemon(jstatd - 虚拟机 jstat 守护进程)。无法对远程主机上运行的应用程序进行性能分析。

1需要在被监控的服务器上面,通过jstatd来启动RMI服务。新建个文件jstatd.all.policy 文件内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};

2启动jstatd
jstatd -J-Djava.security.policy=jstatd.all.policy &
上面启动的RMI服务的端口是1099。启动通过:netstat -an|grep 8888可以查看端口是否已经被监听

3连接远程主机

  • 右键单击“应用程序”窗口中的“远程”节点,然后选择“添加远程主机”。
  • 在“添加远程主机”对话框中,键入远程计算机的主机名或 IP 地址。
  • (可选)键入远程主机的显示名称。此名称将显示在“应用程序”窗口中。如果没有输入显示名称,则在“应用程序”窗口中使用主机名标识远程主机。
  • 单击“确定”。

 

  • 大小: 16.4 KB
  • 大小: 6.3 KB
分享到:
评论
2 楼 打倒小日本 2010-07-15  
比jconsole更美观 详细 直观一些
1 楼 beneo 2010-07-14  
这玩意感觉用处不大,跟Jconsole一样

相关推荐

    jvisualvm(java线程监控)使用手册[归纳].pdf

    jvisualvm(java线程监控)使用手册[归纳].pdf

    Java学习之Reference、Eclipse调优、jvisualvm使用

    NULL 博文链接:https://410063005.iteye.com/blog/1677958

    jvisualvm详解

    该文档详细地描述了jvisual的各个功能,借助该工具,我们可以监控到,jvm内存的分配,使用情况,gc的活动过程,线程的生命历程等jvm所有的情况。

    jvisualvm使用方法

    遇到内存溢出的问题(OutOfMemoryError:PermGen space),这里给大家分享一种解决思路,希望能给大家提供一些帮助。...使用工具:jvisualvm:监控内存泄露,跟踪垃圾回收,执行时内存,cpu分析,线程分析...

    JVisualVM简介与内存泄漏实战分析

    JVisualVM简介与内存泄漏实战分析,如何分析内存溢出,定位内存溢出问题

    jvisualvm操作手册for linux菜鸟

    对于linux菜鸟通过jvisualvm远程监控JVM,详细的操作指南。

    jvisualvm插件JDK1.8_64.zip

    本资源是收集了jvisualvm常用的插件,方便下载使用。JDK版本是1.8,这对于内存的监测提供了极大的便利。

    memoryAnalyzer,jemter,jvisualvm工具使用介绍

    详细文档介绍,大量步骤截图,一看就懂: ...jvisualvm是jdk自带工具,可以监控Java内存模型,是可视化的界面哦,分分钟对内存模型了如指掌,还可以监控线程情况,CPU使用情况,对性能优化有需求的同学最好学习下

    jvisualvm visualgc

    首先下载好该工具包,配置好JDK环境,在控制台输入jvisualvm命令,打开jvisualvm界面,工具->插件->已下载,安装后即可使用.无法使用的请留言.

    Visual Gc插件 亲测适用于jdk1.6.0_45

    Visual Gc插件 亲测适用于jdk1.6.0_45,搭配jvisualvm使用。

    java开发中如何使用JVisualVM进行性能分析

    JVisualVM是由Sun提供的性能分析工具,如此强大的后盾怎能不强大?在Jdk6.0以后的版本中是自带的,配置好环境变量然后在运行中输入“JVisualVm”或直接到Jdk的安装目录的Bin目录下找到运行程序即可运行。如果是用Jdk...

    Visualvm插件TDA(thread dump分析)

    https://java.net/projects/tda/downloads/directory/visualvm 官方下载的,附带使用方法,Visualvm的TDA插件,能很好的分析线程Dump日志,吐血推荐!

    visualvm 中文版

    可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、 执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。

    Cubic java应用诊断工具.rar

    其中,JConsole和JVisualVM是图形化工具,可以用来监控JVM的运行状态、查看内存和CPU使用情况等;而jmap、jstack和jcmd是命令行工具,可以用来诊断内存泄漏、死锁等问题。 JConsole 作用:JConsole是一个监视和管理...

    visualVM_131

    可以使用VisualVM生成和分析海量数据、跟踪内存泄漏、监控垃圾回收器、执行内存和CPU分析,同时它还支持在MBeans上进行浏览和操作。尽管VisualVM自身要在JDK6这个版本上运行,但是JDK1.4以上版本的程序它都能监控。

    ha456.jar(IBMHeapAnalyzer)JVM内存分析工具

    IBM的heapanalyzer,可以分析dump出的JVM内存快照。在命令行中,进入到jar文件所在目录,输入命令java -Xmx3000m -jar ha456.jar运行。

    visualvm中文版

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

    tomcat-catalina-jmx-remote-8.0.9.jar

    当你想深入学习jvm的时候,肯定会用到。用于使用jvisualvm.exe远程监控服务器jvm

Global site tag (gtag.js) - Google Analytics