`
阅读更多

在多线程调试的时候用到了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使用方法

    ### jvisualvm使用方法与内存管理技巧 #### 内存溢出问题背景 在软件开发过程中,经常会遇到各种性能瓶颈,其中最为常见的莫过于内存溢出问题。本文将针对`OutOfMemoryError: PermGen space`这一特定类型的内存...

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

    在Java编程世界里,深入理解Reference、Eclipse的性能调优以及如何有效使用jvisualvm工具是提升开发效率和优化应用程序的关键。以下是对这些主题的详细解析。 首先,让我们谈谈`Reference`。在Java中,对象引用不...

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

    《jvisualvm(java线程监控)使用手册》是Java开发者必备的工具指南,它提供了对Java应用程序进行性能分析和诊断的强大功能。以下是对该手册中关键知识点的详细解读: 1. **VisualVM介绍** VisualVM是Oracle JDK自带...

    jvisualvm详解

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

    jvisualvm操作手册for linux菜鸟

    jvisualvm操作手册for linux菜鸟 jvisualvm是一款功能强大的Java虚拟机(JVM)监控工具,由Oracle提供,自JDK 6 update 7起,jvisualvm.exe文件包含在JDK的bin目录下。jvisualvm是NetBeans的profile子项目,可以...

    jvisualvm

    本文将深入探讨jvisualvm的核心特性和使用方法。 首先,jvisualvm是Java Development Kit(JDK)的一部分,无需额外安装即可使用。它提供了丰富的功能,包括内存分析、线程监控、CPU剖析、类加载器检查以及JMX连接...

    VisualVM入门指南 使用说明 新手上路

    它集成了多种原本独立存在的命令行工具,如`jstat`, `JConsole`, `jstack`, `jmap`, 和 `jinfo`,并通过一个统一的图形用户界面(GUI)提供了更加直观的使用体验。 - **核心功能**: - **监视**:监控Java应用程序...

    jvisualvm插件JDK1.8_64.zip

    本资源集合了jvisualvm的常用插件,便于开发者快速获取并使用,尤其对于JDK 1.8的内存监测,其便捷性与实用性得到了广大开发者的青睐。 1. **JVisualVM的核心功能** JVisualVM包含了多种功能,其中最突出的是对...

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

    作为NetBeans的一个子项目,JVisualVM自JDK 1.8起就已经被集成到标准发行版中,这意味着用户无需额外安装即可使用它来监控和诊断各种Java应用。 #### JVisualVM的主要功能: - **监控线程**:能够实时显示应用中的...

    jvisualvm来JVM监控

    《使用jvisualvm进行JVM监控与调优详解》 在Java开发中,JVM(Java Virtual Machine)的性能监控和调优是至关重要的环节,它直接影响到应用程序的运行效率和稳定性。jvisualvm,作为Oracle JDK自带的一款强大的性能...

    java内存查看工具jvisualvm

    本文将深入探讨jvisualvm的功能、使用方法以及其在Windows环境下的操作。 1. **jvisualvm简介** jvisualvm是一个强大的多合一工具,它包含了多种Java应用程序的诊断功能,如JMX(Java Management Extensions)、...

    jvisualvm btrace插件离线安装

    3. **启动jVisualVM**:打开你的Java SDK目录,找到bin文件夹下的`jvisualvm.exe`(Windows系统)或`jvisualvm`(Linux或MacOS系统),双击启动jVisualVM。 4. **添加插件**:在jVisualVM主界面,选择“工具”菜单...

    jvisualvm安装Visual GC插件.pdf

    - 在安装过程中,确保使用的JDK版本与Visual GC插件兼容。 - 如果在安装过程中遇到任何问题,可以参考Visual VM官网上的文档或社区论坛寻求帮助。 - 保持jvisualvm以及Visual GC插件的最新版本,以便获得更好的性能...

    远程连接jvisualvm,测试用jar

    在这个场景中,我们将深入探讨如何使用`jVisualVM`进行远程连接,以及如何利用它来测试JAR文件,特别是与名为`eureka`的压缩包子文件相关的内容。 首先,`jVisualVM`是一个图形化界面工具,它包含在Java ...

    memoryAnalyzer,jemter,jvisualvm工具使用介绍

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

Global site tag (gtag.js) - Google Analytics