OOM问题排查+Jvm优化

OOM问题排查:

1、top命令:查看cpu和内存的使用情况。
2、jstat命令:查看YGCFGC情况,一般都是老年代不够用。导致OOM
3、jmap命令: 查看哪个类的实例过多,以每个类占用多少了内存。

4、jstack  查看线程与线程之间的阻塞状态。dump文件也是通过这个命令。这是参数不一样。

JVM调优的出发点:

1、观察YGC的频率和耗时
频率过高:可能是ES的容量不够,

2、观察FGC的频率和耗时
频率过高:说明老年代的对象得不到回收。
是不是有内存泄露:Gc后老年代没有变化
老年代的内存空间不够大:查看每次回收后老年代的空间变化。
老年代大对象的【担保策略】:担保策略就是指下面4个点。

备注:Java对象进入老年代的四种方式
1、minor gc之后,survivor区空间不能容量存活对象
2、对象达到年龄阈值进入老年代
3、大对象进入老年代
4、动态年龄判断

担保策略:4种分派方式跳转

一、什么是TLAB

TLAB:用来解决内容分派的问题
1、指针碰撞,一半是已分派,一半是未分派,缺点:产生很多碎片。产生很多不连续的空闲空间。
2、空闲列表机制:在碰撞的基础上,将不连续的空间,通过一个空间列表记录起来。每次分派对象时,优先遍历空闲列表,来
分配合适的对象。
3、高并发下,需要用到互斥锁,这就大大折扣了,空闲列表的分派速度。为了解决内容分配效率问题,引入了TLAB的概念
4TLABThread Local Allocate buffer的缩写,结合EMA期望算法,

TLAB 是线程私有的,线程初始化的时候,会创建并初始化 TLAB

缺点:TLAB 要解决的问题很明显,尽量避免从堆上直接分配内存从而避免频繁的锁争用。引入 TLAB 后,会有内
存孔隙问题,还可能影响 GC 扫描性能
总结:开发中能使用局部变量的,就不要使用在方法外定义。

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

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

相关文章

【广州华锐互动】昆虫3D虚拟动态展示:探索神奇的微观世界

在这个充满科技魅力的时代,我们可以通过各种方式去了解和探索自然界的奥秘。而昆虫作为地球上最为丰富多样的生物群体之一,其独特的生活习性和形态特征一直吸引着人们的目光。 由广州华锐互动开发的昆虫3D虚拟动态展示系统,成为了一种全新的科…

原始类型 vs. 对象(基本类型 vs. 引用类型)

原始类型 首先我们先看一段代码: let age 30; let oldAge age; age 31; console.log(age); console.log(oldAge);在 JavaScript 中,原始类型的赋值是通过值复制的方式进行的,而不会相互影响。只有对象类型的值才是通过引用复制的方式进行…

【数据结构(三)】双向链表(2)

文章目录 1. 基本概念2. 管理双向链表的思路3. 代码实现 1. 基本概念 管理单向链表的缺点分析: ①单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。     ②单向链表不能自我删除,需要靠辅助节点 ,而双向…

基于springboot实现在线外卖平台系统项目【项目源码】

基于springboot实现在线外卖平台管理系统演示 Java技术 Java是由SUN公司推出,该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称,也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备了显著的…

AUTOSAR实战篇:基于ETAS工具链的信息安全协议栈集成指南

AUTOSAR实战: 基于ETAS工具链的信息安全协议栈集成指南 前言 小T出品,必是精品! 手把手带你集成信息安全协议栈,你值得拥有! 正文 随着汽车信息安全的不断发展与完善,其在汽车电子领域如智能驾驶(ADAS),智能座舱等方向上不断被重视起来,越来越多的Tier1,主机厂都在全面…

LeetCode:2304. 网格中的最小路径代价(C++)

目录 2304. 网格中的最小路径代价 题目描述: 实现代码: dp(dp有很多相似的经典题目,比较简单,不再给出解析) 2304. 网格中的最小路径代价 题目描述: 给你一个下标从 0 开始的整数矩阵 grid …

中国信息通信研究院发布《中国金融科技生态白皮书》(2023)

加gzh“大数据食铁兽”,回复“20231122”,获取材料完整版 导读 本白皮书是中国信息通信研究院连续第六年针对金融科技领域的跟踪研究成果,聚焦过去一年来国内外金融科技领域新的发展情况,重点分析了中国金融科技产业、技术、市…

vue3组件化开发页面之渲染函数实现

文章目录 前言一、渲染机制虚拟 DOM渲染管线 二、渲染函数基本用法声明渲染函数Vnodes 必须唯一 三、页面使用渲染函数及组件配置总结如有启发,可点赞收藏哟~ 前言 组件化开发是目前开发的常态 本文记录页面拆分多个不同组件模块,然后再基于渲染函数实现…

智能交通收费RFID读写器在不停车收费(ETC)系统中的应用

随着公路收费规模的不断扩大,传统的人工收费效率低下,收费没有监督,导致票款流失严重甚至还有车辆非法逃票。为了解决这些问题,引入了RFID等多种技术的新型的收费系统-不停车收费(ETC)系统应运而生。 电子不停车收费系统(ETC)系统…

PMP考试

一、关于准考信下载 为确保您顺利进入考场参加xxx月份考试,请及时登录本网站个人系统下载并打印准考信,准考信下载时间为xxx-xxx。如通过以上方式无法查找准考信,请您及时拨打所在考点老师联系电话,如有特殊问题,请发…

VUE+element可以为空不为空时只能为(正整数和0)的验证

rule{ 变量: [ { required: true, validator: validateparamPosition, trigger: blur }] } ​​​​​​​ ​​​​​​​ ​​​​​​​ var validateparamPosition (rule, value, callback) > { if (!value) { //先判断空可以过 ca…

VirtualBox+Vagrant安装虚拟机

文章目录 一、下载Virtualbox和Vagrant1、下载2、安装 二、安装虚拟机1、新建目录D:\VirtualMachine2、执行vagrant init centos/7命令,就会在该目录下创建Vagrantfile文件3、执行vagrant up命令4、查看当前主机分给虚拟机的网关网段5、找到D:\VirtualMachine下的Va…

涉密人员离职怎么做好安全管理?

在信息安全领域,涉密人员的离职安全管理具有极其重要的意义。一旦涉密人员离职,可能会对单位的信息安全造成威胁,因此必须采取有效的措施来确保涉密人员离职后的信息安全。 一、涉密人员离职安全管理的现状 目前,许多单位在涉密人…

从零开始安装并运行YOLOv5

从零开始安装并运行YOLOv5 该文主要实现用YOLOv5的基准检测为自己的视频片段渲染对象检测结果和边界框,本文大部分都是实操,帮助大家快速上手。 什么是YOLOv5? ​ yolo是一种用于对象检测的最先进的机器学习模型,yolo有不同的版…

Linux OpenGauss 数据库远程连接

目录 前言 1. Linux 安装 openGauss 2. Linux 安装cpolar 3. 创建openGauss主节点端口号公网地址 4. 远程连接openGauss 5. 固定连接TCP公网地址 6. 固定地址连接测试 前言 openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核…

Jenkins 配置节点交换内存

查看交换内存 free -hswapon -s创建swap文件 dd if/dev/zero of/mnt/swap bs1M count1024启用交换文件 设置权限 chmod 600 /mnt/swap设置为交换空间 mkswap /mnt/swap启用交换 swapon /mnt/swap设置用户组 chown root:root /mnt/swap查看 swapon -s重启系统也能生效还需要修…

Vue中的$nextTick

​🌈个人主页:前端青山 🔥系列专栏:Vue篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来vue篇专栏内容:vue中的$nextTick 目录 🐋Vue中的$nextTick有什么作用? 🐋一、…

创建用户报错:ORA-65096: 公用用户名或角色名无效

题主的Oracle版本是最新的Oracle 21 描述: 1、在命令行工具 给Oracle创建用户,create user c##用户名identifed by 密码,报错:【ORA-65096: 公用用户名或角色名无效】 2、在navicat创建用户,提示如下: 解…

(动手学习深度学习)第13章 实战kaggle竞赛:狗的品种识别

文章目录 1. 导入相关库2. 加载数据集3. 整理数据集4. 图像增广5. 读取数据6. 微调预训练模型7. 定义损失函数和评价损失函数9. 训练模型 1. 导入相关库 import os import torch import torchvision from torch import nn from d2l import torch as d2l2. 加载数据集 - 该数据…

Figma最全面的新手指南,从基础到高级,一网打尽

1 Figma界面介绍 Figma基础界面与传统设计软件没有太大区别,有Sketch使用经验的用户几乎可以无缝连接到Figma。 立即体验 免费的在线Figma汉化版即时设计是一款支持在线协作的专业级 UI 设计工具,支持 Sketch、Figma、XD 格式导入,海量优质设…