JVM堆内存解析

一、JVM堆内存介绍

Java大多数对象都是存放在堆中,堆内存是完全自动化管理,根据垃圾回收机制不同,Java堆有不同的结构,下面是我们一台生产环境服务器JVM堆内存空间分配情况,JVM只设置了-Xms2048M -Xmx2048M。

1、JVM堆内存为什么要分代

分代目的主要是优化GC的性能,做了分代后在GC时不用对整个堆内存进行扫描,因为Java很多对象是朝生夕死,这部分可以单独放在一个区便于及时回收掉。

2、新生代

伊甸区(Eden):新创建的对象先被分配在Eden区存放。

幸存区1、幸存区2:当Eden区满的时候进行Minor GC,如果对象还存活的,会被移到幸存区,以后每次GC时对象的年龄会加1,当年龄加到一定程度就会被移到老年代,幸存区分成两个区,每次只使用一个区,当一个区块填满了后会将还活着对象复制到另一个区。

新生代采用复制算法进行垃圾回收,垃圾回收进行的比较频繁,每次执行Minor GC耗时比较短(监测两周数据,每天执行28次Minor GC,每次耗时10毫秒)

3、老年代

老年代对象比较稳定,当有新生代对象移到老年代,如果空间不够时会触发MajorGC,采用标记清除法,即扫描内存区块后标记出存活的对象,然后将未标记的进行回收,MajorGC耗时比较长(监测两周数据,只有启动的时候执行了4次MajorGC,每次耗时200毫秒)。

二、监测堆内存区空间变化

1、使用jstat监测堆内存空间使用情况

使用Shell脚本每隔一分钟获取一次内存占用数据并写入数据库。

2、内存空间使用数据分析

从图中可以看出

1、YGC和EU(伊甸区内存使用大小)的关系,当EU占满了,触发了YGC,然后EU下降。

2、S0和S1空间使用相互切换,当S0空的时候,新生代幸存对象放在S1,当S1空的时候,新生代幸存对象放在S0。

3、老年代的占用空间和FGC

跟踪了从7月13号~7月19号  OU从83M增长为107M,远远达不到分配的1365.5M,另外每周都有系统发布JVM会重启,所以都没有发生过FGC,新系统上线时要特别关注FGC的情况,最常见的是当异常情况下把表的数据全部加载到内存,这种极易造成堆内存快速增长,然后频繁FGC,甚至发生OOM。

三、Java对象在堆中分配的流程图

注:网上找的图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/111675.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件开发项目文档系列之八数据库设计说明书

数据库设计说明书是一个关键文档,它提供了有关数据库的详细信息,包括设计、结构、运行环境、数据安全、管理和维护等方面的内容。 1 引言 引言部分,简要介绍数据库设计说明书的目的和内容。这部分通常包括以下内容: 引言的目的…

基于通道的数据增强方法_使用随机量化的方式

前言本文提出了一种适用于任意数据模态的自监督学习数据增强技术 来源:机器之心 仅用于学术分享,若侵权请联系删除 自监督学习算法在自然语言处理、计算机视觉等领域取得了重大进展。这些自监督学习算法尽管在概念上是通用的,但是在具体操作…

免费小程序商城搭建之b2b2c o2o 多商家入驻商城 直播带货商城 电子商务b2b2c o2o 多商家入驻商城 直播带货商城 电子商务

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

MyBatis实验(四)——关联查询

前言 多表关联查询是软件开发中最常见的应用场景,多表查询需要将数据实体之间的一对多、多对多、一对一的关系的转换为复杂的数据对象。mybaits提供的association和collection元素,通过映射文件构造复杂实体对象,在构造实体过程中&#xff0…

leetcode 155. 最小栈

2023.10.31 本题关键在于要求在能在常数时间内检索出最小元素。 其他四个方法都可以用普通的栈进行实现,最后一个方法“获取堆栈中最小元素” 可以借助一个新栈,专门用于存储栈中最小值的。具体细节看java代码: class MinStack {private De…

一百九十八、Java——IDEA项目中有参构造、无参构造等快捷键(持续梳理中)

一、目的 由于IDEA项目中有很多快捷键,可以很好的提高开发效率,因此整理一下 二、快捷键 (一)快捷键生成public static void main(String[] args) {} 快捷键:psvm (二)快捷键在test中创建cn…

Linux服务器使用GPU技巧

进行深度学习实验的时候用pytorch-gpu,经常要与GPU打交道; 所以经常遇到奇奇怪怪的问题; 查看GPU占用情况 watch -n 10 nvidia-smi 使用技巧 torch.nn.DataParallel() CLASStorch.nn.DataParallel(module, device_idsNone, output_devic…

AntDB数据库荣获 “2023年信创物联网优秀服务商”

日前,在2023世界数字经济大会暨第十三届智博会 2023京甬信创物联网产融对接会上,AntDB数据库再获殊荣,获评“2023年信创物联网优秀服务商”。 图1:2023年信创物联网优秀服务商颁奖现场 信创物联网是信息技术应用创新与物联网的结…

mac录屏快捷键指南,轻松录制屏幕内容!

“大家知道mac电脑有录屏快捷键吗,现在录屏不太方便,每次都花很多时间,要是有录屏快捷键,应该会快速很多,可是哪里都找不到,有人知道吗?帮帮我!” 苹果的mac电脑以其精美的设计和卓…

java商城免费搭建 VR全景商城 saas商城 b2b2c商城 o2o商城 积分商城 秒杀商城 拼团商城 分销商城 短视频商城

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

波浪理论第3波anzo capital昂首资本3个方法3秒确认

要想通过波浪理论在交易中赚取最大利润,确认第三波必不可少,因为第三波通常是趋势中最大和最强的一波,今天anzo capital昂首资本3个方法3秒确认。 首先,第一个确认方法—斜率。 通常,第三波的斜率会比第一波更陡峭&a…

钡铼技术助力ARM工控机在智慧交通中的创新应用

在交通运输领域,钡铼技术ARM工控机可以实现以下功能: 实时监控和管理:利用钡铼技术ARM工控机,可以对交通运输中的车辆、船只、飞机等进行实时监测和管理,帮助调度员提高车辆调度和路线规划的准确性和效率。 安全保障&…

查看局域网内另外一个电脑屏幕

查看局域网内另外一个电脑屏幕是一个相对简单但实用的技术。在局域网中,我们可以使用远程桌面、网络发现和共享、软件等技术来实现这一目标。 今天重点讲解一下,如何通过域之盾软件来查看另一个电脑屏幕: 1、部署软件,安装提示一…

软件测试优秀的测试工具,会用三款工作效率能提升一半

我们将常用的测试工具分为10类。 1. 测试管理工具 2. 接口测试工具 3. 性能测试工具 4. C/S自动化工具 5.白盒测试工具 6.代码扫描工具 7.持续集成工具 8.网络测试工具 9.app自动化工具 10.web安全测试工具 注:工具排名没有任何意义。 大多数初学者&…

众和策略:微软大动作

当地时间周二,美股首要指数全线收涨。但从月度数据来看,美股首要指数录得“三连跌”,10月份,道指跌1.36%,标普500指数跌2.2%,纳指跌2.78%。其间,标普和道指均为2020年3月以来初次呈现三个月连跌…

Unity 粒子特效-第四集-光球闪烁特效

一、特效预览 二、制作原理 光球素材资源 链接:https://pan.baidu.com/s/1XzWpQU2zX_wupMXSW7RxwA?pwdvu5r 提取码:vu5r 1.素材介绍 仔细看,我们的粒子贴图是(如下),一颗球球 2.步骤介绍 1.光球动画的…

Zynq UltraScale+ XCZU5EV 纯VHDL解码 IMX214 MIPI 视频,2路视频拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图IMX214 摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存DP 输出 5、vivado工程详解PL端FPGA硬件设计…

【设计模式】第25节:行为型模式之“访问者模式”

一、简介 访问者模式允许一个或者多个操作应用到一组对象上,设计意图是解耦操作和对象本身,保持类职责单一、满足开闭原则以及应对代码的复杂性。 二、优点 分离操作和数据结构增加新操作更容易集中化操作 三、适用场景 数据结构稳定,操…

职场好物:乐歌M9S升降办公电脑台,告别久坐办公,升职加薪就选它

办公是现代生活不可避免的组成部分,科技的快速发展,给了我们更多新的生活方式,促使我们更加关注自己的身体状况,我们挨过了饭都吃不饱的年代,随着办公人群的不断扩张,不知道你有没有发现身边人或多或少都有…

光学雨量计:更灵敏可靠、更智能的降雨监测工具

光学雨量计:更灵敏可靠、更智能的降雨监测工具 降雨量信息是评估大气环境和降水研究的关键指标,也是环境监测和农业安全监测的重要参数。目前,我们通常使用翻斗式或光学雨量计来监测降雨量,这些工具能够感知自然界的降雨量&#…