GC overhead limit exceeded问题

news2024/11/25 13:37:29

GC overhead limit exceeded问题

一、为什么会产生GC overhead limit exceeded问题

OutOfMemoryError是java.lang.VirtualMachineError的子类;JVM遇到与资源利用有关的问题时,会抛出该错误。更具体地说,当JVM花太多时间执行垃圾回收并且只能回收很少的堆空间时,就会发生该错误。

根据Java文档,默认情况下,如果Java进程花费其时间的98%以上用于GC,并且每次运行中仅回收不到2%的堆,则JVM配置为抛出此错误。换句话说,这意味着我们的应用程序几乎耗尽了所有可用的内存,而垃圾回收器花费了太多时间尝试清理它,并反复失败。

在这种情况下,用户会遇到应用程序极慢的情况。某些操作通常会在几毫秒内完成,因此需要花费更多时间才能完成。这是因为CPU将其全部容量用于垃圾回收,因此无法执行任何其他任务。

二、有什么表现

具体现象一般来说,有以下几点:

  1. 程序中大量的死循环或有使用大内存的代码;

  2. 程序中的递归栈的层数太深了,导致内存不足;

  3. 给服务器的堆内存设置的太小,没有足够的内存可以使用;

  4. 数据库中的数据表数据太大,由于没有判断带有条件,导致查询全表数据,查询出来的数据量太大,内存溢出;

三、如何解决

解决办法:

1、除了使用-设置堆内存外Xms1g -Xmx2g,尝试

-XX:+UseG1GC -XX:G1HeapRegionSize=n -XX:MaxGCPauseMillis=m  -XX:ParallelGCThreads=n -XX:ConcGCThreads=n

2、优化代码减少 尽可能重用现有对象以节省一些内存

3、检查是否存在

代码使用while循环,不停的new对象,占用了大量的内存。

今天的分享就到此结束了

欢迎点赞评论互关三连

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

807. 区间求和

链接: 链接 题目: 输入两个整数 ll 和 rr,请你编写一个函数,int sum(int l, int r),计算并输出区间 [l,r][l,r] 内所有整数的和。 输入格式 共一行,包含两个整数 ll 和 rr。 输出格式 共一行,包…

分支IPSECV批恩连接总部突然上线不了,连接其他总部正常

环境: 分支: AF8.0.17 总部设备: SSL V批恩 V7.0 AF8.0.75 问题描述: 分支IPSECV批恩连接总部突然上线不了,之前正常,连接其他总部正常 解决方案: 排查&解决 1.先在分支和总部设备各查询故障日志 分支 总部 然后在分支AF上进入系统排障页面,测试ping总…

14、Horizontal Pod Autoscale

一、为何进行缩扩容? 在实际生产中,经常会遇到某个服务需要扩容的场景,可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的场景。可以利用Deployment/RC的Scale机制来完成这些工作。 二、缩扩容模式 Kubernetes 对 Pod 扩容与缩…

【Android Framework系列】第6章 AMS原理之Launcer启动流程

1 前言 我们在上一章节【Android Framework系列】第5章 AMS启动流程中简单的分析了AMS的启动流程,这一章节我们来了解一下,通过AMS是怎么完成Activity的启动 下面我们通过Launcher启动一起来看看Activity的启动流程 本文基于Android10(Q&a…

不同语言采集【淘宝1688拼多多API】平台数据的方式

首先我们以taobao商品页面采集商品详情数据为例: 请求方式:HTTPS POST GET 请求地址:API接口 请求参数 请求参数:num_iid669646899650&is_promotion1参数说明:num_iid:淘宝商品ID is_promotion:是否获取取促销…

Space Saving算法

用于大数据中统计元素数量最多的元素的算法。 SpaceSaving算法是一种近似计数算法,它在大多数情况下能够提供准确的结果。然而,它并不是完全准确的,因为它使用了一些近似技巧来降低内存使用。具体来说,SpaceSaving算法通过牺牲一定…

基于STM32CUBEMX驱动TOF模块VL6180与VL6180X(4)----测量环境光

基于STM32CUBEMX驱动TOF模块VL6180与VL6180X----4.测量环境光 概述样品申请VL6180X传感器的测量流程ALS动态范围ALS动态范围测量流程光强计算公式配置vl6180x测试结果 概述 在本章中,我们将介绍如何配置VL6180X传感器以测量环境光,并获取环境光的强度值…

I.MX8MM系统构建 -- 2.linux内核编译烧录

准备源码 源码位置:/source/myir-imx-linux.tar.gz解压源码 tar zxf myir-imx-linux.tar.gz 编译 进入源码目录后,依次执行下列指令 myirmyir-server1:$ make distclean myirmyir-server1:$ make myd_imx8mm_defconfig myirmyir-server1:$ LDFLAG…

代码随想录刷题第53天|Leetcode1143最长公共子序列

1、Leetcode1143最长公共子序列 题目链接:1143最长公共子序列 本题不要求连续,求最长公共子序列。 1、确定dp数组及下标的含义 dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j]。 2、…

volatile原理剖析和实例讲解

一、是什么 volatile是Java的一个关键字,是Java提供的一种轻量级的同步机制, 二、能做什么 保证了不同线程对这个变量进行操作时的可见性,有序性。 三、可见性 可见性主要是指一个线程修改了共享变量的值,另一个线程可以看见…

PreparedStatement 相比于 Statement的优点

PreparedStatement 相比于 Statement,有以下几个优点: 1. 预编译:PreparedStatement 对象在执行 SQL 语句之前会进行预编译,这意味着数据库管理系统可以提前解析和编译 SQL 语句,以优化执行计划,从而提高查…

【C语言初阶(15)】操作符1

文章目录 Ⅰ操作符的分类Ⅱ 算术操作符Ⅲ 移位操作符⒈左移操作符⒉右移操作符 Ⅳ 位操作符⒈按位取⒉按位与⒊按位异或⒋按位或⒌位操作符练习题 Ⅴ赋值操作符Ⅵ 单目操作符 Ⅰ操作符的分类 算术操作符移位操作符位操作符赋值操作符单目操作符关系操作符逻辑操作符条件操作符…

【ElasticSearch】ES集群搭建、监控、故障转移

文章目录 1、ES集群介绍2、搭建ES集群3、集群状态监控4、集群职责及脑裂5、分布式新增和查询流程6、ES故障转移 1、ES集群介绍 单机的ES做数据存储与搜索,必然面临两个问题: 海量数据存储问题单点故障问题 因此,考虑使用ES集群&#xff1a…

AIGC浪潮席卷,亚马逊云科技携手海尔设计、Nolibox加速工业设计转型

从机器学习算法到深度学习再到强化学习,AI创新浪潮奔流不息。而AIGC(AI-generated Content,人工智能生成内容)的到来,更是让AI成为众多企业的得力助手,开拓了文本、图像、音视频等领域的天花板。 在洞悉到…

x86架构ubuntu18下运行mgba模拟器

0. 环境 i7 ubuntu18 1. 准备源码 到https://github.com/mgba-emu/mgba/releases下载源码 mgba-0.10.2.tar.gz tar -zvxf mgba-0.10.2.tar.gz cd mgba0.10.2 2. 编译 mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX/home/xxjianvm/work/mgba-0.10.2/install .. make -j…

PROFINET转TCP/IP网关TCP/IP协议的含义是

大家好,今天要和大家分享一款自主研发的通讯网关,远创智控YC-PN-TCPIP。这款网关可是集多种功能于一身,PROFINET从站功能,让它在通讯领域独领风骚。想知道这款网关如何实现PROFINET和TCP/IP网络的连接吗?一起来看看吧&…

【GeoDa实用技巧100例】004:绘制长沙市宾馆热度图

文章目录 一、加载宾馆分布数据二、绘制热度图三、加载范围数据四、加载底图数据 一、加载宾馆分布数据 加载专栏配套的案例数据data004.rar中的长沙市宾馆酒店.shp,如下图,选择Shapefile格式: 选择长沙市宾馆酒店,加载如下&…

完全平方数(力扣)动态规划 JAVA

给你一个整数 n ,返回 和为 n 的完全平方数的最少数量 。 完全平方数 是一个整数,其值等于另一个整数的平方;换句话说,其值等于一个整数自乘的积。例如,1、4、9 和 16 都是完全平方数,而 3 和 11 不是。 示…

【指针进阶】(题目练习)

这篇文章的思维导图在这里:思维导图 一维数组: int a[] {1,2,3,4}; printf("%d\n",sizeof(a)); printf("%d\n",sizeof(a0)); printf("%d\n",sizeof(*a)); printf("%d\n",sizeof(a1)); printf("%d\n"…

Vit 实战营 Class2:图像与Transformer基础

文章目录 数组图像:图像与像素图像分类:机器如何学习?NMT:Neuron Machine TranslationTransformerVision Transformer代码实战 数组图像:图像与像素 什么是数字图像?在计算机图像的图像格式。每一个点叫pix…