【案例60】NIO导致本地内存溢出

news2024/9/24 19:22:28

问题现象

集成环境出现宕机,javacore中报本地内存溢出。

问题分析

对JAVACORE进行分析之后可以发现,有大量的异步IO线程。

同时查看websphere的ffdc事件可以发现:

从FFDC中可以看到部分信息:

com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)
Caused by: java.io.IOException: Async IO operation failed (1), reason: RC: 10053  您的主机中的软件中止了一个已建立的连接。
[22-14-24 12:12:41:315 GMT+08:00]     FFDC Exception:java.io.IOException SourceId:com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream ProbeId:102 Reporter:com.ibm.ws.webcontainer.channel.WCCByteBufferInputStream@93528999
java.io.IOException: Async IO operation failed (1), reason: RC: 55  指定的网络资源或设备不再可用。

同时可以发现WAS的system.out中的报错

[22-14-24 12:10:32:018 GMT+08:00] 000001a7 ECPCacheRemov I com.yonyou.ec.cache.command.ECPCacheRemoveCommand run ###UAPEC-ECPCacheRemoveCommand###移除SaleOrgName数据缓存对象,UserID:0001E310000000008FGZ
[22-14-24 12:10:33:097 GMT+08:00] 00001082 ActorClientAg E nc.web.es.uapecpub.server.support.ActorClientAgent$1 notifyStopped IP地址为127.0.0.1,端口为9011的远程机器失去连接.

有一个BOSS线程和大量worker。以16*2的速度增长。

经过和研发沟通定位,可以发现是EC那边采取了NETTY框架进行NIO的封装。

解决方案

正常来说,即使连接断开,NETTY也可以根据自己的心跳机制去断开连接。这里可以理解为一个BUG。

修改方案分为三种:

1.升级现有的NETTY框架。

2.修改默认线程数,时间上限等。

3.修改代码,增加判断。

for (int i = 0; i < ports.length; ++i)
      if ((isLocal) || (isWebLocalDeploy(hosts[i], ports[i])))
        command.run();
      else
        try {
          new Socket(hosts[i], Integer.valueOf(ports[i]).intValue());
          getClientAgent(hosts[i], ports[i], comPorts[i]).sendCommandOneWay(command);
        } catch (Exception e) {
          Logger.error("网络ip或端口错误!ip:" + hosts[i] + ";port:" + ports[i]);

修改之后可以发现:

错误的端口配置下,NIO相关线程基本为0

正确的端口配置下,NIO的相关线程数为4-6个左右。

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

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

相关文章

源代码编译,Apache DolphinScheduler前后端分离部署解决方案

转载自神龙大侠 生产环境部署方案 在企业线上生产环境中&#xff0c;普遍的做法是至少实施两套环境。 测试环境线上环境 测试环境用于验证代码的正确性&#xff0c;当测试环境验证ok后才会部署线上环境。 鉴于CI/CD应用的普遍性&#xff0c;源代码一键部署是必要的。 本文…

ISO 26262中的失效率计算:SN 29500-2 Expected values for integrated circuits

目录 概要 1 基准条件下的失效率 2 失效率转换 2.1 失效率预测模型 2.2 电压应力系数 2.2.1 电压应力系数计算模型 2.2.2 电压应力系数计算 2.3 温度应力系数 2.3.1 温度应力系数计算模型 2.3.2 温度应力系数计算 2.4 漂移灵敏度系数 3 任务剖面应力系数 4 早期失…

JAVA设计模式之【原型模式】

快速构建对象方法&#xff1a; 使用简单工厂将get&#xff0c;set封装到某个方法中&#xff08;Client类&#xff09; JDK提供实现Cloneable接口实现快速复制 1 类图 2 适用场景 1、类初始化消耗资源较多。 2、new 产生的一个对象需要非常繁琐的过程&#xff08;数据准备、访…

Python selenium爬虫被检测到,该怎么破?

当使用Selenium进行网络爬虫操作时&#xff0c;经常会被目标网站检测到并采取了反爬措施&#xff0c;有几种方法可以尝试规避。 1、 用无头模式&#xff08;Headless Mode&#xff09;&#xff1a;Selenium支持在无头浏览器模式下运行&#xff0c;这样就不会触发与真实用户操作…

Spring-AOP-API设计与实现

拦截篇-AOP怎么拦截类和方法 Joinpoint Joinpoint&#xff08;连接点&#xff09;是面向切面编程&#xff08;Aspect-Oriented Programming, AOP&#xff09;中的一个核心概念。在 Spring AOP 中&#xff0c;它主要指代的是应用程序中的某个特定点&#xff0c;在这个点上可以…

国产游戏技术:创新驱动下的全球影响力

国产游戏技术能否引领全球&#xff1f; 前言技术亮点&#xff1a;国产游戏的创新之路面临的挑战&#xff1a;技术创新与市场适应发展机遇&#xff1a;拥抱新技术&#xff0c;拓展国际市场IT技术创新&#xff1a;推动行业发展的新引擎人才需求&#xff1a;技术人才的紧缺与机遇结…

一个利用率超高的楼宇智能化实验室是如何练成的?

在当今快速发展的智能化时代&#xff0c;楼宇智能化实验室作为培养未来智能科技人才的重要基地&#xff0c;其利用率的高低直接关系到科研效率和成果产出。本文将详细探讨如何打造一个利用率超高的楼宇智能化实验室&#xff0c;从设计规划、设备选型、实训内容、管理运营等多个…

Git克隆仓库太大导致拉不下来的解决方法 fatal: fetch-pack: invalid index-pack output

一般这种问题是因为某个文件/某个文件夹/某些文件夹过大导致整个项目超过1G了导致的 试过其他教程里的设置depth为1,也改过git的postBuffer,都不管用 最后还是靠克隆指定文件夹这种方式成功把项目拉下来 1. Git Bash 输入命令 git clone --filterblob:none --sparse 项目路径…

解决pip install fitz 失败问题

背景 实现PDF转图片&#xff0c;需要使用fitz&#xff0c;结果安装的时候出现问题。 先上解决方案&#xff0c;再进行问题分析. 解决方案 安装PyMuPDF能直接使用fitz&#xff0c;按照介绍PyMuPDF也叫称为fitz库。 pip install PyMuPDF 问题分析 关键报错信息&#xff1a;…

WebRTC支持H.265编码:技术挑战与EasyCVR视频汇聚平台解决方案

随着互联网技术的快速发展&#xff0c;视频通信已成为人们日常生活和工作中不可或缺的一部分。WebRTC&#xff08;Web Real-Time Communication&#xff09;作为一种实时通信技术&#xff0c;因其便捷性和高效性而受到广泛关注。然而&#xff0c;在视频编码格式上&#xff0c;W…

武汉凯迪正大—三倍频发生器电源发生装置 倍频试验装置 多频装置

产品概述 武汉凯迪正大KDSF 感应耐压试验装置是根据国家标准《GB311-64》和原水电部发布的《电气设备预防性试验规程》&#xff0c;为满足电力系统对高压电压互感器、倍频感应耐压试验设备的要求而设计的&#xff0c;用于电力系统35-220KV等级电压互感器的交流耐压试验&#x…

证券行业加密业务安全风险监测与防御技术研究

摘要&#xff1a;解决证券⾏业加密流量威胁问题、加密流量中的应⽤⻛险问题&#xff0c;对若⼲证券⾏业的实际流量内容进⾏调研分析&#xff0c; 分析了证券⾏业加密流量⾯临的合规性⻛险和加密协议及证书本⾝存在的⻛险、以及可能存在的外部加密流量威 胁&#xff0c;并提出防…

详解Xilinx GTP结构原理以及验证

文章目录 一、GT简介二、GTP内部结构2.1 整体结构2.2 Quad的内部结构2.3 一对收发器的内部结构2.3.1 发送器的内部结构2.3.2 接收器的内部结构 三、时钟和复位3.1 输入的参考时钟结构3.1.1 IBUFDS_GTE2原语3.1.2 IBUFDS_GTE2原语端口属性说明 3.2 参考时钟选择和分配3.2.1 GTPE…

VScode + Python 下载及安装|python环境配置|中文乱码解决

1&#xff0c;下载安装VScode 直接点击2024.9https://vscode.download.prss.microsoft.com/dbazure/download/stable/fee1edb8d6d72a0ddff41e5f71a671c23ed924b9/VSCodeUserSetup-x64-1.92.2.exe 或者百度搜索VScode&#xff0c;可下载安装最新版 点击后等一下&#xff0c;就…

es、kibana及分词器的安装

文章目录 1、搜索引擎2、为什么使用新型搜索&#xff1f;3、底层原理&#xff1a;倒排索引4、底层API5、你使用了什么分词器&#xff1f;6、ElasticSearch安装6.1、准备目录并授予权限6.2、制作配置文件6.3、初始化es容器6.4、重置es用户密码6.5、安装中文分词器6.5.1、 把资料…

人机环境系统智能中的知己、趣时、变通

在易经中&#xff0c;知己、趣时、变通是重要的概念&#xff0c;它们在人机环境系统智能中的作用可以理解为&#xff1a; 知己&#xff1a;指的是对系统自身的深刻了解。在人机环境系统中&#xff0c;这意味着系统能够清晰地识别和理解自身的能力、限制以及用户的需求&#xff…

鸿蒙内核源码分析(gn应用篇) | gn语法及在鸿蒙中巧夺天工

gn是什么? gn 存在的意义是为了生成 ninja,如果熟悉前端开发,二者关系很像 Sass和CSS的关系. 为什么会有gn,说是有个叫even的谷歌负责构建系统的工程师在使用传统的makefile构建chrome时觉得太麻烦,不高效,所以设计了一套更简单,更高效新的构建工具gnninja,然后就被广泛的使用…

从数据生成到图数据库:Linux下Neo4j的CSV导入

文章目录 简介找到import文件夹准备csv表格数据导入neo4jTeacherStudent 简介 介绍如何在Linux系统中设置和使用Neo4j数据库。 首先&#xff0c;找到Neo4j的import文件夹&#xff0c;通常位于Neo4j安装目录下的data文件夹内&#xff0c;并展示通过neo4j.conf配置文件查找和修…

EmguCV学习笔记 C# 6.S 特别示例

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

Datawhale AI夏令营 第五期 CV方向 Task1笔记

Task1&#xff1a;跑通YOLO方案baseline&#xff01; 赛题解读 根据您提供的图片内容&#xff0c;这是一份关于城市管理违规行为智能识别竞赛的赛题描述。以下是对内容的分析&#xff1a; 一、赛题描述 背景&#xff1a;随着城市化进程的加速&#xff0c;城市管理面临新的挑…