安装Java Visualvm监控堆内存和参数说明

您所在的位置:网站首页 服务器的尺寸单位是什么 安装Java Visualvm监控堆内存和参数说明

安装Java Visualvm监控堆内存和参数说明

2024-06-28 14:01:24| 来源: 网络整理| 查看: 265

安装Java Visualvm监控堆内存和参数说明 1.概述

这篇文章介绍使用Java Visualvm工具监控堆内存VisualGC插件的安装以及监控堆内存参数说明。

摘要 VisualGC插件安装VisualGC监控Jmeter堆内存案例VisualGC监控界面参数说明 2.安装VisualGC插件 2.1.打开Java Visualvm

本地安装java后,使用cmd命令打开Java Visualvm工具。

jvisualvm

在这里插入图片描述

在这里插入图片描述

2.2.安装VisualGC插件

Java Visualvm默认安装插件网站已经关闭,将插件移到了gitHub上,下面我们通过修改下载地址安装插件。

1.打开插件下载官网

插件官网:https://visualvm.github.io/plugins.html

2.复制插件地址

点击Plugins进入插件页面,点击Plugins Centers进入插件中心 在这里插入图片描述 根据自己本地安装java的版本选择对应版本的插件,例如我的是java8,复制JDK8对应插件地址。

在这里插入图片描述

3.修改插件下载地址

点击Java Visualvm的 工具——>插件,在设置中点击编辑粘贴我们复制的插件地址 在这里插入图片描述

4.安装VisualGC插件

在这里插入图片描述 安装VisualG插件后,点击VisualVM就可以看到插件监控效果。 VisualVM监控的就是这个程序自身的堆内存使用情况。

在这里插入图片描述

3.VisualGC监控Jmeter堆内存案例 Visualvm工具能够自动发现本机上所有java程序,不需要手动添加连接地址。例如我们监控Jmeter程序堆内存使用情况,首先启动Jmeter程序。

在这里插入图片描述

启动Jmeter程序后,在Visualvm会自动发现Jmeter程序,并显示在窗口中。

在这里插入图片描述

双击Jmeter就可以打开监控界面

在这里插入图片描述

4.VisualGC监控界面参数说明

下面重点对VisualGC监控界面各个区域的参数做一个介绍,在看到这些参数时我们知道了他代表的含义就可以对被监控程序的堆内存进行分析 下面图根据布局可分为三个区域,分别是Spaces、Graphs和Histogram,下面就逐个区域介绍。 在这里插入图片描述

1.Spaces区域

在这里插入图片描述 该区域通过柱状图方式展示堆内存运行情况

Metaspace:方法区,如果JDK1.8之前的版本,就是Perm,JDK7和之前的版本都是以永久代- (PermGen)来实现方法区的,JDK8之后改用元空间来实现(MetaSpace)。Old:老年代Eden: 新生代Eden区S0和S1:新生代的两个 Survivor 区 2.Graphs区域

在这里插入图片描述 该区域包含了编译、类加载、GC执行统计、堆内存使用情况等几个方面数据展示

Compile Time:编译情况 5794 compoles - 11.682s 表示编译总数为5794 ,编译总耗时为11.682s。 一个脉冲表示一次JIT编译,脉冲越宽表示编译时间越长。

Class Loader Time:类加载情况 9480 loaded,0 unloaded - 5.561s表示已加载的数量为9480 ,卸载的数量为0,耗时为5.561s。

GC Time:总的(包含新生代和老年代)gc情况记录 16 collections,140.800ms Last Cause:G1 Evacuation Pause表示一共经历了16次gc(包含Minor GC和Full GC),总共耗时140.800。最后一次GC原因G1 Evacuation Pause

Eden Space:新生代Eden区内存使用情况 (1.000G,44.000M): 27.000M,14 collections,75.425ms表示Eden区的最大容量为1G,当前初始值容量为44.000M,当前已使用27.000M,从开始监控到现在在该内存区域一共发生了14次gc(Minor GC),gc总耗时为75.425ms。 Eden区的最大容量是我们设置的最大堆内存,程序运行时如果超过该值就会发生内存移除错误,当前初始值容量是根据当前使用堆内存的情况动态调整,如果使用堆内存呈上升趋势,那么初始值也会上升,知道最大值。反之下降。

Survivor 0和Survivor 1:新生代的两个Survivor区内存使用情况 (1.000G,1.000M):1.000M表示该Survivor区的最大容量为1G(默认为Eden区的1/8),当前已用1.000M。

Old Gen:老年代内存使用情况 (1.000M,83.000M):57.172M,2 collections,65.375ms表示老年区的最大容量为1G,当前容量为83.000M,当前已用57.172M,从开始监控到现在在该内存区域一共发生了2次gc(Full GC),gc总耗时为65.375ms,换算下可以看出单次Full GC要比Minor GC耗时长很多。

Metaspace:方法区内存使用情况 (1.045G,54.613M):53.482M表示方法区最大容量为1.045G,当前容量为54.613M,当前使用量为53.482M。

3.Histogram区域

在这里插入图片描述 Histogram区域主要展示Survivor区内存使用情况

Tenuring Threshold:我们知道Survivor区中的对象有一套晋升机制,就是其中的每个对象都有一个年龄标记,每当对象在一次Minor GC中存活下来,其年龄就会+1,当对象的年龄大于一个阈值时,就会进入老年代,这个阈值就是Tenuring Threshold,要注意这个值不是固定不变的,一般情况下Tenuring Threshold会与Max Tenuring Threshold大小保持一致,可如果某个时刻Survivor区中相同年龄的所有对象的内存总等于Survivor空间的一半,那Tenuring Threshold就会等于该年龄,同时大于或等于该年龄的所有对象将进入老年代。

Max Tenuring Threshold:表示新生代中对象的最大年龄值,这个值在JDK1.8中默认为6,在JDK1.7及之前的版本中默认为15,可以通过参数-XX:MaxTenuringThreshold来指定。

Desired Survivor Size:Survivor空间大小验证阈值(默认是survivor空间的一半),用于给Tenuring Threshold判断对象是否提前进入老年代。

Current Survivor Size:当前Survivor空间大小,单位为字节(Byte,B)

Histogram柱状图:表示Survivor中不同年龄段对象分布。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭