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

次 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 加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。

  

  

  

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

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

    VisualVM 是一款免费的\集成了多个JDK 命令行工具的可视化工具,它能为您提供强大的分析能力,对 Java 应用程序做性能分析和调优.这些功能包括生成和分析海量数据.跟踪内存泄漏.监控垃圾回收 ...

  2. Java VisualVM添加Visual GC插件

    1.访问地址:https://visualvm.github.io/pluginscenters.html,找到自己JDK版本对应的插件下载地址(我的JDK版本为1.7.0_67): 2.点击该链接进 ...

  3. 【转】JVM可视化工具插件---Visual GC

    Visual GC是一个Java 内存使用分析与GC收集的可视化工具插件 <插件下载> 一:整个区域分为三部分:spaces.graphs.histogram 1 spaces区域:代表虚 ...

  4. jvm可视化工具jvisualvm插件——Visual GC

    转自:http://blog.csdn.net/xuelinmei_happy/article/details/51090115 Visual GC是一个Java 内存使用分析与GC收集的可视化工具插 ...

  5. Visual GC(监控垃圾回收器)

    Java VisualVM默认没有安装Visual GC插件,需要手动安装,JDK的安装目录的bin目露下双击jvisualvm.exe,即可打开Java VisualVM,点击菜单栏 工具-> ...

  6. 3 - JVM随笔分类(gc.log ,VisualVM插件介绍,VisualVM远程连接方式介绍)

    gc.log 354.2 KB 对于对应用的监控上可以使用Jdk自带的VisualVM来做可视化监控,可以查看当前服务应用进程的堆大小的走向,以及类的加载数量等,除此之外,VisualVM可以支持很多 ...

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

    1.打开cmd,输入jvisualvm,回车: 2.点击工具——>插件; 3.访问网址:https://visualvm.github.io/pluginscenters.html,找到自己JD ...

  8. jvisualvm安装Visual GC插件

    jdk自带了查看和分析jvm的一系列工具,在%JAVA_HOME%/bin目录下,包括jvisualvm.jconsole.jmap.jstack.jstat等: 其中jvisualvm.exe提供一 ...

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

    Visual GC提示"不受此JVM支持“,如果想使用这个插件,就需要配置jstatd连接方式,下面来看jstatd的配置: 1.配置安全策略文件路径$JAVA_HOME/jre/lib/s ...

随机推荐

  1. 点击文字,把input type="radio"也选中

    本文原文地址:https://my.oschina.net/jack088/blog/469815 1. <label> <input type="radio" ...

  2. 工具IDEA 配置springboot+maven项目

    工具IDEA 配置springboot+maven项目 首先安装IDEA,至于怎么安装就不介绍了.. 第一步 配置maven环境 首先安装maven,先在网上下载一个maven包.在IDEA的sett ...

  3. 极其简单的用JS在浏览器中创建下载文件的方法

    有这样一个需求,在js中动态创建一个页面,然后下载该页面为word文档,研究了一上午,最后发现实现起来如此简单. 在js中创建如下方法:(直接复制即可) function downloadFile(f ...

  4. .NET Core容器化之多容器应用部署-使用Docker-Compose

    原文补充: -- docker-compose.ymlversion: ' services: mvc-web: container_name: mvc.web.compose build: . re ...

  5. 总结day12 ----装饰器

    一,什么是装饰器? 装饰器本质上就是一个python函数,他可以让其他函数在不需要做任何代码变动的前提下,增加额外的功能,装饰器的返回值也是一个函数对象. 装饰器的应用场景:比如插入日志,性能测试,事 ...

  6. 使用Chrome-headless模式下,截屏不全屏的问题

    在headless模式下,是没有打开浏览器窗口的,那么driver.maximize_window(),找不到目标也打不开. 我们可以换一种方式,去在无头模式下,指定浏览器的窗口大小运行即可. __o ...

  7. [BZOJ 1056][HAOI2008]排名系统

    传送门 \(\color{green}{solution}\) \(fhq \_treap\)模板题. 对于 \(+\) 操作,如果当前人不存在,那么直接加入;如果存在,那么先将他删除,再加入.复杂度 ...

  8. 洛谷P2051 [AHOI2009]中国象棋(dp)

    题面 luogu 题解 \(50pts:\)显然是\(3\)进制状压\(dp\) \(100pts:\) 一行一行地考虑 \(f[i][j][k]\)表示前\(i\)行,有\(j\)列放了一个,有\( ...

  9. springcloud(四)-Eureka Server集群

    Eureka Server的高可用 这一节我们接着上一节说. 有分布式应用开发经验的朋友应该发现,前文编写的单节点Eureka Server并不适合线上生产环境.Eureka Client会定时连接E ...

  10. Sweep Line

    391. Number of Airplanes in the Sky https://www.lintcode.com/problem/number-of-airplanes-in-the-sky/ ...