当前位置: 首页 > news >正文

一种排查java.lang.OutOfMemoryError: Metaspace的方法

有现场反应k8s中的java应用出现java.lang.OutOfMemoryError: Metaspace,但是没有提供hprof转储文件,所以本地排查该问题。
Metaspace区域的内存溢出错误,通常意味着 JVM 中加载的类元数据超出了限制。
jstat -class 1000命令可以每隔一秒打印一次虚拟机装载了的类的个数,例如:
image

然后arthas的classloader命令可以查看每个类加载器加载的类的个数,例如:
image
根据现场反馈,某计算任务进行一段时间后会出现该错误,所以本地也进行同样操作争取复现。
jstat -class 1000 观察到类个数增加后,执行arthas的classloader命令,对比哪个类加载器的个数或加载的类个数增加了,从而缩小排查范围。
在我的例子中是org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader的numberOfInstances和loadedCountTotal都有明显增加,可以知道问题和drools规则引擎有关。
经过排查代码得知是有同事把KieBase对象缓存到redis中,每次从redis取出反序列化时都会增加类,占用metaspace空间,从而引起OOM。

http://www.hskmm.com/?act=detail&tid=27490

相关文章:

  • First Blog Post
  • 本站点即将在2025年改变研究方向和目标
  • 实用指南:12_OkHttp初体验
  • (AE)Adobe After Effects 2025 视频后期制作软件!安装包永久免费免激H解锁版下载与图文详细安装教程!!
  • Postgresql主从配置
  • 乒乓球
  • 2025年工程管理软件系统推荐榜:交付管理/工程协同/工程管理/智慧工地管理系统
  • 《程序员修炼之道》 阅读笔记一
  • 大型行为模型LBM超越语言模型的技术解析
  • 2025工程管理软件系统推荐榜:技术赋能下的场景化解决方案全景
  • 【LVS入门宝典】LVS-TUN模式原理与配备:跨越网络界限的负载均衡解决方案
  • Java基础-Eclipse工具-面向对象(1)
  • Avalonia UI 投资 Wilderness Labs
  • BLE开发新体验:四种模式全解析,源码免费开放
  • JBoltAI V4 - 那年-冬季
  • 【EI检索】2025年智能决策与机器学习国际学术会议 (ICIDML 2025)
  • 10月9号
  • Qwen3技术报告
  • 赋能智慧监管:国标GB28181平台EasyGBS在明厨亮灶场景中的深度应用
  • CFD与FDM, FEM, FVM的关系?
  • 央国企高管团队为何频繁流失?揭示薪酬结构失衡的深层原因与优化策略
  • 在Ubuntu 22.04系统上安装libimobiledevice的步骤
  • Redis sentinal模式,master挂了的 选举过程
  • 软件技术基础第一次
  • 音频基础知识
  • 有限体积法和有限差分法、有限元法的区别。
  • 用户行为素材可视化
  • “十五五”战略下,央国企人事系统如何破局增效?T集团数字化转型案例分享
  • 关于审批流的记录
  • CF1726E Almost Perfect