visualvm 插件 visual gc 使用介绍

visual gc 是 visualvm 中的图形化查看 gc 状况的插件。

具体详细介绍可参照: http://www.oracle.com/technetwork/java/visualgc-136680.html

本文也是在此基础上进行的整理归纳。

OUTPUT FORMAT

visual gc 工具分成三大块

Visual GC Window

我们看到上方图片中的 Spaces 就是 Visual GC window 了。它会分成 3 个竖直的部分,分别是 Perm 永生代,  Old 老年代和新生代。

新生代又分成 3 个部分 Eden 区, S0 survivor 区, S1 survivor 区.

每个方框中都使用不同的颜色表示,其中有颜色的区域是占用的空间,空白的部分是指剩余的空间。

当程序正在运行时,该部分区域就会动态显示,以直观的形式显示各个分区的动态情况。

Graph Window

该区域包含多个以时间为横坐标的状态面板。

Compile Time

  编译时间表示虚拟机的 JIT 编译器编译热点代码的耗时。

  Java 语言为了实现跨平台特性, Java 代码编译出来后形成的 class 文件中存储的是 byte code,jvm 通过解释的方式形成字节码命令,这种方式与 C/C++ 编译成二进制的方式  相比要慢不少。

  为了解决程序解释执行的速度问题, jvm 中内置了两个运行时编译器,如果一段 Java 代码被调用达到一定次数,就会判定这段代码为热点代码(hot spot code),并将这段代  码交给 JIT 编译器编译成本地代码,从而提高运行速度。所以随着代码被编译的越来越彻底,运行速度应当是越来越快。

  而 Java 运行器编译的最大缺点就是它进行编译时需要消耗程序正常的运行时间,也就是 compile time.

Class Loader Time

表示 class 的 load 和 unload 时间

GC Time

22 collections 表示自监视以来一共经历了 22 次GC, 包括 Minor GC 和 Full GC
2.030s 表示 gc 共花费了 2.030s
Last Cause: Allocation Failure 表示上次发生 gc 的原因: 内存分配失败

Eden Space

Eden Space (340.500M,185.000M): 91.012M
表示 Eden Space 最大可分配空间  340.500M
Eden Space 当前分配空间 185.000M
Eden Space 当前占用空间 91.012M
21 collections, 1.012s
表示当前新生代发生 GC 的次数为 21 次, 共占用时间 1.012s

Survivor 0 and Survivor 1

S0 和 S1 肯定有一个是空闲的,这样才能方便执行 minor GC 的操作,但是两者的最大分配空间是相同的。并且在 minor GC 时,会发生 S0 和S1 之间的切换。
Survivor 1 (113.500M, 75.000M) : 36.590M
表示 S1 最大分配空间 113.500M, 当前分配空间 75.000M, 已占用空间 36.590M

Old Gen

  

  Old Gen (682.500M, 506.500M) : 233.038M, 1 collections, 1.018s


(682.500M, 506.500M) : 233.038M

表示 OldGen 最大分配空间 682.500M, 当前空间  506.500M, 已占用空间 233.038M

1 collections, 1.018s 表示老年代共发生了 1次 GC, 耗费了 1.018s 的时间。

老年代 GC 也叫做 Full GC, 因为在老年代 GC 时总是会伴随着 Minor GC, 合起来就称为 Full GC。

Perm Gen

  

  Perm Gen (256.000M, 227.500M) : 122.800M

  256.000M 表示最大可用空间,可以使用 -XX:MaxPermSize 指定永久代最大上限

227.500M  表示当前永久代空间

122.800M 表示永久代当前占用空间

对 HotSpot 虚拟机来说,可以把永久代直接等同于方法区,其中会存储已经被jvm 加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。

  

  

  

时间: 2024-10-14 22:45:02

visualvm 插件 visual gc 使用介绍的相关文章

Java程序性能分析工具Java VisualVM(Visual GC)—程序员必备利器

VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作. 在内存分析上,Java VisualVM的最大好处是可通过安装Visual GC插件来分析GC(Gabage Collection)趋势.内存消耗详细状况. 一  Visual GC(监控垃圾回收器) Java Visu

Java VisualVM添加Visual GC插件

1.访问地址:https://visualvm.github.io/pluginscenters.html,找到自己JDK版本对应的插件下载地址(我的JDK版本为1.7.0_67): 2.点击该链接进入如图界面,找到Visual GC插件,点击下载 3.打开Java VisualVM,工具——>插件——>已下载——>添加插件——>安装: 4.安装完成后的界面   原文地址:https://www.cnblogs.com/cxxiao/p/12631482.html

VisualVm插件安装配置

打开Java VisualVm->工具->插件  如图: 关于要填写的URL地址到 http://visualvm.java.net/pluginscenters.html 找到jdk版本以及更新版本对应的插件中心地址. 当VisualVM不能下载插件时查看是不是上面的地址有问题. 常用的扩展插件: Visual GC:监视每一部分需要的时间,方便我们进行调优 jconsole plugins 安装完之后需要做如下配置: 在配置jconsole plugins的地方,Add JAR/Folde

为JDK自带的jvisualvm安装Visual GC插件

1.打开cmd,输入jvisualvm,回车: 2.点击工具-->插件; 3.访问网址:https://visualvm.github.io/pluginscenters.html,找到自己JDK对应版本的插件下载地址: 4.点击该链接进入如图界面,找到Visual GC插件,点击下载 5.将下载的文件放到C:\Users\liuxincheng\AppData\Roaming\VisualVM\7u60\目录下: 6.回到Java VisualVM,工具-->插件-->已下载-->

Visual GC提示"不受此JVM支持“解决方案(配置jstatd)

Visual GC提示"不受此JVM支持“,如果想使用这个插件,就需要配置jstatd连接方式,下面来看jstatd的配置: 1.配置安全策略文件路径$JAVA_HOME/jre/lib/security/java.policy在文件末位的 }; 前添加permission java.security.AllPermission; 2.启动jstatd 注意:是在被监控机器启动 cd $JAVA_HOME/bin./jstatd -J-Djava.security.policy=all.poli

JDK7下VisualVm插件无法链接到插件中心

??VisualVM 是一款免费的,集成了多个 JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收器.执行内存和 CPU 分析,同时它还支持在 MBeans 上进行浏览和操作.不比哪些收费的监控软件逊色多少. ??VisualVM更棒的地方是在于它能通过安装插件来扩展功能. 看了上面的介绍,我忍不住心动了尝试了一下VisualVM 来分析一下JVM.既然有插件扩展更多的功能,那肯定要尝试一

Chrome插件Visual Event查看Dom元素绑定事件的利器

找这工具找了好久,统一找着了,开发人员不可多得的好东东,收藏做一下分享. 用Chrome插件Visual Event查看Dom绑定的事件 Visual Event简介 Visual Event是一个开源 Javascript 书签,能提供绑定在DOM元素上的事件调试信息.Visual Event能显示如下信息: 1.哪一个元素有事件绑定 2.某元素上绑定的事件类型 3.事件触发后运行的代码段 4.定义绑定函数的源文件和行号(仅限于WebKit和Opera浏览器) 除了对调试你自己的代码大有用途,

深入浅出 JVM GC(4)常用 GC 参数介绍

# 前言 从前面的3篇文章中,我们分析了5个垃圾收集器,还有一些 GC 的算法,那么,在 GC 调优中,我们肯定会先判断哪里出现的问题,然后再根据出现的问题进行调优,而调优的手段就是 JVM 提供给我们的那些参数或者说选项,这些参数将会改变 GC 的运行方式.因此,他们显得极为重要. 我们将每一个垃圾收集器相关的参数一个一个娓娓道来,注意,楼主推荐一个小程序:前阿里 JVM 大神寒泉子的公众号里面有个小程序------JVM Pocket,这个小程序介绍了所有的 JVM 参数的作用,你可以在里面

带你玩转Visual Studio——开篇介绍

开篇之前,先唠叨几句 本人从事C++开发工作一年半,总想就C++开发方面写点东西.写什么呢?想了一下还是写点跟开发密切相关的吧,要说跟开发最密切相关的那莫过于就是开发工具了,也就是常常说的集成开发环境(IDE). 这一年多从事的是C++的跨平台开发,在Linux和Windows下都开发过,但主要还是在Windows下进行开发(一般会在Windows下开发,多个平台下编译),因为Windows下有强大好用的开发工具,那就Visual Studio. 讲述的范围 本系列博文讲述的内容为: Windo