jvisualvm 中默认未配置visual gc,而在实际jvm调优中, 插件更容易观察gc情况,配置如下:

打开jvisualvm 点击工具中的插件

在弹出界面中勾选Visual gc, 点击安装,在弹出的界面中一路默认即可;

这里可能由于网络原因下载失败,点击重试;

安装完成点击完成,重新启动jvisualvm 就能看到Visual GC

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

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

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

OUTPUT FORMAT

visual gc 工具分成三大块the Visual GC window

the Graph window,作者 对 eclipse 监控,这个选项是不可用的,需要调查原因

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

jvisualvm oracle,jvisualvm 中visual gc 的配置相关推荐

  1. jvisualvm oracle,Jvisualvm简单使用教程

    本博客介绍一下jvisualvm的简单使用教程,jvisualvm功能还是挺多的,不过本博客之简单介绍一下 1.拿线程快照信息 在jdk安装目录找到jvisualvm.exe,${JDK_HOME}\ ...

  2. jvisualvm安装Visual GC插件

    用jdk自带的jvisualvm安装Visual GC插件,遇到We're sorry the java.net site has closed(我们很抱歉java.net网站已经关闭) 1.找到新的 ...

  3. JVisualVM、Visual GC

    JVisualVM JVisualVM Java VisualVM 是一款 JDK 自带免费的性能分析工具 public class JVisualVM {public static void mai ...

  4. Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)

    之前的博文分享了下载安装[VS code]的详细教程, 有需要速戳–>Linux环境中Visual Studio Code 安装配置及其卸载(详细教程) 本篇博文分享本人初次使用[VS code ...

  5. Linux环境中Visual Studio Code 安装配置及其卸载(详细教程)

    两篇相关博文: 在VMware15中创建虚拟机安装ubuntu系统(超详细教程) Linux环境编译运行C/C++语言程序----配置gcc.g++(详细教程) 此篇分享我在linux环境下安装VS ...

  6. Visual Studio中没有为此解决方案配置选中要生成的项目

    Visual Studio中没有为此解决方案配置选中要生成的项目 参考文章: (1)Visual Studio中没有为此解决方案配置选中要生成的项目 (2)https://www.cnblogs.co ...

  7. 指定在此oracle主目录中配置,oracle11g卸载

    oracle11gr2的卸载 oracle11gr2的完全卸载方式与前些版本有了改变,运行H:\app\Administrator\product\11.2.0\dbhome_1\deinstall的 ...

  8. OpenCV在visual studio 2022中的下载与配置

    OpenCV在visual studio 2022中的下载与配置 opencv的下载 环境变量的更改 visual studio 中的配置 配置文件 代码测试环节 opencv的下载 我个人用的是vi ...

  9. 虚拟机调优工具java VisualVM中的插件Visual GC 2.1.2离线安装,附下载地址

    在安装Visual GC插件过程中,出现以下问题: 原因就是没法从git网站中下载对应插件,这里使用离线安装:访问网址:https://visualvm.github.io/uc/8u131/upda ...

  10. oracle修改rman参数,Oracle数据库中RMAN默认配置参数代表什么意思

    RMAN> show all; db_unique_name 为 ORCL11G64B 的数据库的 RMAN 配置参数为: CONFIGURE RETENTION POLICY TO REDUN ...

最新文章

  1. 网管日志-06.08.14
  2. Qracle学习:字符串相关函数
  3. 02基于注解开发SpringMVC项目(jar包,异步,request,参数传递,多选的接收,Model传参,map传参,model传参,ajax,重定向,时间日期转换)
  4. Kaggle : Using a Convolutional Neural Network for classifying Cats vs Dogs
  5. Xcode9的xib只支持iOS7.0及以上版本
  6. 将iOS默认上下文坐标系改变为Quartz通常坐标系
  7. java json和对象互相装换
  8. mysql 数据迁移_【AWS 功能】Mysql 数据库迁移至Amazon RDS方案
  9. 武汉大学计算机学院 招聘院长,黄传河任武汉大学计算机学院执行副院长 主持工作...
  10. 嵌入式、快速人脸算法库Vision.Face SDK开放下载!已经商用检验
  11. 实体商店与虚拟商店购买保护流程:
  12. 计算机做表格软件有哪些内容,制作表格软件,详细教您excel怎么制作表格
  13. 代码重构 —— 区分代码和数据
  14. android日期时间控件
  15. Flowplayer简单酷炫的视频播放器
  16. 维吉尼亚密码原理详解及算法实现
  17. 用python画蜡笔小新的步骤_蜡笔小新 - python代码库 - 云代码
  18. 基于形状图像检索的形状描述符评估——18.07.30
  19. html点击图片弹出模态框,JS实现图片点击后出现模态框效果
  20. JAVA基础(12.Java中的常用类String)

热门文章

  1. masm5安装教程_MASM_6.11安装方法
  2. 计算机思维概述ppt,常见的第一讲 计算思维概述.ppt
  3. 单尺度retinex算法 matlab,单尺度retinex算法
  4. .net reactor 学习系列(五)---.net reactor针对De4Dot脱壳工具的应对
  5. 初学数学建模软件MATLAB的笔记
  6. win7桌面图标消失的3种解决方案
  7. 单例模式(学习小记)
  8. 顺无盘linux win10包,(2018.05.25)网维大师9.0.6.0无盘-xp-win7x32-x64-Win10x64公包
  9. 《JSP程序设计》手机销售网
  10. Ubuntu中超级终端-minicom