从报错内容很清楚是Metaspace区域oom了
大部分情况下,程序运行中不会出现过多的类加载数量的变动,先导入dump文件检查是否有异常的classLoader或者有异常动态生成的class
发现了下面这个classLoader数量异常,项目中用到nashorn这块js引擎来做动态js脚本执行
通过查阅nashorn源码发现
 
 
 
默认为true代表每次compile js脚本都会新创建一个classLoader,用下面的方式改造一下js引擎的创建方式
 
改造前测试200次 发现创建了200个ScripLoader
改造后测试发现ScriptLoader数量不再变化了
 
 

Nashorn引擎导致metaspace oom的更多相关文章

  1. Android中解决图像解码导致的OOM问题

    Android中解决图像解码导致的OOM问题 原文链接:http://blog.csdn.net/zjl5211314/article/details/7042017

  2. 强制IE使用最高版本引擎渲染页面,避免默认使用IE7引擎导致的页面布局混乱及其它问题

    背景 基于Asp.net MVC的一个Intranet web application, 现象 Application发布到服务器端后,在客户端IE访问页面布局混乱,并有javascript报错 原因 ...

  3. Velocity引擎导致jvm内存外内存泄露

    我公司一兄弟,在controller层,每次调用controller的时候都创建了velocity引擎,而且没有去关闭,最终导致的现象就是jvm的内存信息正常,但是jvm之外的内存发生了泄露,导致是用 ...

  4. spark 2.3 导致driver OOM的一个SparkPlanGraphWrapper源码的bug

    背景 长话短说,我们部门一个同事找到我,说他的spark 2.3 structured streaming程序频繁报OOM,从来没有坚持过超过三四天的,叫帮看一下. 这种事情一般我是不愿意看的,因为大 ...

  5. HBase 查询导致RegionServer OOM故障复盘

    背景:我司作为某运营商公司的技术咨询公司,发现有第三方开发公司在使用HBase 1.1.2 (HDP 2.4.2.258版本)一段时间使用正常后,从某一天开始报OOM,从而导致RegionServer ...

  6. Finalizer 导致的OOM

    本文介绍的是Java里一个内建的概念,Finalizer.你可能对它对数家珍,但也可能从未听闻过,这得看你有没有花时间完整地看过一遍java.lang.Object类了.在java.lang.Obje ...

  7. docker 不同引擎导致历史垃圾镜像无法自动清除,致硬盘空间报警

    查看硬盘占用大户是/var/lib/docker/vfs/dir 直觉是images文件,历史原因累积了大量的image docker rmi 清除掉不用的image文件 可用空间有提升但提升不大 / ...

  8. Java 8 的 Nashorn 脚本引擎教程

    本文为了解所有关于 Nashorn JavaScript 引擎易于理解的代码例子. Nashorn JavaScript 引擎是Java SE 8的一部分,它与其它像Google V8 (它是Goog ...

  9. OOM导致的备库raylog损坏导致主从复制异常

    问题发现告警数据库出现复制中断,延迟超过100秒 问题排查复制信息检查,通过’show slave status\G’命令可以查看复制线程详细的工作状态,对于判断复制中断的原因有一些指导性意义.当时的 ...

  10. JVM OOM异常会导致JVM退出吗?

    出处:  https://mp.weixin.qq.com/s/8j8YTcr2qhVActLGzOqe7Q  https://blog.csdn.net/h2604396739/article/de ...

随机推荐

  1. 基于列存储的开源分布式NoSQL数据库Apache Cassandra入门分享

    @ 目录 概述 定义 特性 与Hbase对比 Cassandra使用场景 术语 架构 概览 Dynamo 数据集分区使用令牌环的一致性哈希 存储引擎 部署 单实例部署 集群部署 CQL 概述 数据模型 ...

  2. Vue2依赖收集原理

    观察者模式定义了对象间一对多的依赖关系.即被观察者状态发生变动时,所有依赖于它的观察者都会得到通知并自动更新.解决了主体对象和观察者之间功能的耦合. Vue中基于 Observer.Dep.Watch ...

  3. 升级二进制kubernetes集群

    升级二进制kubernetes集群 背景介绍 最近由于时间不足,暂时无法对小版本更新第一时间出新的文档.若需要升级集群版本,可以参考此文档进行操作,每个节点一个一个地更新.大版本更新请各位持续关注我的 ...

  4. python入门教程之四基本语法

    1Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大 ...

  5. 系统建模之UML状态图[转载]

    1 状态图的简介(Instrduction) 状态图(Statechart Diagram)主要用于描述一个对象在其生存期间的动态行为,表现为一个对象所经历的状态序列,引起状态转移的事件(Event) ...

  6. 四月十三号java基础知识

    1.双层for循环外层要写,但是内层一定要写,不然容易报错2.Exception in thread "main" java.lang.ArrayIndexOutOfBoundsE ...

  7. Java并发(一)----进程、线程、并行、并发

    一.进程与线程 进程 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存.在指令运行过程中还需要用到磁盘.网络等设备.进程就是用来加载指令.管理内存.管理 ...

  8. Sql批量替换字段字符,Sql批量替换多字段字符,Sql替换字符

    update phome_ecms_news_check set filename= replace(filename,'Under4-',''); update phome_ecms_news_ch ...

  9. Django终端打印执行的SQL语句

    1.queries查询 >>>obj = models.User.objects.filter(name='Mcoco')[0] >>>obj.group.name ...

  10. ArcGIS Pro发布地图服务(影像、矢量)

    做GIS一般都是用ArcMap发布影像或者矢量服务,由于ArcGIS后续不在更新ArcMap,改用ArcGIS Pro,本文对ArcGIS Pro发布服务进行说明. 本文示例使用(因为portal的授 ...