VisualVM

一、基本信息

定义:VisualVM是一种集成了多个JDK命令行工具的可视化工具,主要提供对应用程序强大的分析能力。

作用:能够监控线程,内存情况,查看方法的CPU时间和内存中的对象,以及已经被GC的对象、反向查看分配的堆栈(如100String对象分别由哪几个对象分配出来的)。

位置:JDK_HOME/bin(默认是C:\Program Files\Java\jdk1.6.0_13\bin)目录下面,有一个jvisualvm.exe文件,双击打开,从UI上来看,这个软件是基于NetBeans开发的了。

效果:当本地有java程序运行时,本地节点下就会有相对应的java应用程序

二、visualvm监控

JVM  基础信息:

JVM启动参数JRE取得系统参数

JVM 参数一般在catalina.bat可以配置

例如:-Xms256M -Xmx512M

系统参数: 平时可以用个System.getProperties();

java应用程序

内存使用情况、线程情况、JVM启动参数、cpu消耗情况、垃圾回收情况

等参数

三、用VisualVM解决问题:

1.利用VisualVM解决内存溢出问题

当这里超过指定的最大内存

Runtime.getRuntime().maxMemory();的值。

在下面类的装载稳定后,查看PermGen占大约多少内存,然后得到稳定最大内存,然后在启动时,将这个值设置为最大内存值就可以解决了。

2.通过visualvmtomcat的线程情况,此方法对压力测试时,很直观。

开启进程时

结束进程时

双击查看详细:

3.使用visulvm查看CPU、内存使用情况

VisualVM提供CPU、内存监视功能,可以看到那些类消耗了CPU、内存,当应用耗费CPU、内存过高时,可以通过此功能对应用进行追踪并调查原因。

:单次只可以对同一个应用进行监视

4.在抽样器中可以搜索类、方法等

附录:

系统参数对照表

java.version

Java 运行时环境版本

java.vendor

Java 运行时环境供应商

java.vendor.url

Java 供应商的 URL

java.home

Java 安装目录

java.vm.specification.version

Java 虚拟机规范版本

java.vm.specification.vendor

Java 虚拟机规范供应商

java.vm.specification.name

Java 虚拟机规范名称

java.vm.version

Java 虚拟机实现版本

java.vm.vendor

Java 虚拟机实现供应商

java.vm.name

Java 虚拟机实现名称

java.specification.version

Java 运行时环境规范版本

java.specification.vendor

Java 运行时环境规范供应商

java.specification.name

Java 运行时环境规范名称

java.class.version

Java 类格式版本号

java.class.path

Java 类路径

java.library.path

加载库时搜索的路径列表

java.io.tmpdir

默认的临时文件路径

java.compiler

要使用的 JIT 编译器的名称

java.ext.dirs

一个或多个扩展目录的路径

os.name

操作系统的名称

os.arch

操作系统的架构

os.version

操作系统的版本

file.separator

文件分隔符(在 UNIX 系统中是“/”)

path.separator

路径分隔符(在 UNIX 系统中是“:”)

line.separator

行分隔符(在 UNIX 系统中是“/n”)

user.name

用户的账户名称

user.home

用户的主目录

user.dir

用户的当前工作目录


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章