项目报Direct buffer memory错误
前言
最近项目中出现了Direct buffer memory,然后搜寻网上的资料,大部分的解决方案如下:
网上的解决方案
最近基于Netty的NIO做应用底层通讯架构的实现(服务发现,分布式,高可用,软负载)。遇到java.lang.OutOfMemoryError: Direct buffer memory内存溢出错误,查了很多网上材料都不好使,这里总结一下我的解决方案。
原因:Netty启用了堆外内存DirectByteBuffer实现了零拷贝,堆外内存对young gc免疫,只有在full gc的时候才被收回。
网上解决方案一:启动添加-XX:MaxDirectMemorySize=256m参数,允许系统自动调用System.gc()(启动参数不得有-XX:+DisableExplicitGC)【没起作用】
网上解决方案二:主动发起full gc【没起作用】
分析:由于本系统数据量太大,网络传输不过来,造成数据堆积在堆外内存DirectMemory中,无法回收,数据越堆越多,造成OutOfMemoryError错误。
我的解决方案:在channel.writeAndFlush(msg);发送前做channel.isWritable()判断解决问题。测试发现毫无影响。
达到qps达75000笔/s(平均2.5kb),最大传输速度28MB/s
项目中的报错
最近项目中出现的该问题(Jetty框架)
未解决,后续待写!
项目报Direct buffer memory错误相关推荐
- 【Flink】Direct buffer memory taskmanager.memory.task.off-heap.size
文章目录 1.场景1 1.1 概述 2.场景2 1.场景1 1.1 概述 Direct buffer memory. The direct out-of-memory error has occurr ...
- Direct buffer memory
Direct buffer memory:主要应NIO引起的. 原因: Java8出现了NIO,缓存,通道,选择器.在 写NIO程序的时候,经常使用ByteBuffer来读或者写入数据,这是一种基于通 ...
- 【Kafka】kafka OutOfMemoryError: Direct buffer memory Java heap space
1.背景 做实验:[Kafka]Kafka如何开启SSL 控制台消费与生产 代码消费与生产 的时候,因为机器太卡导致内存溢出 java.lang.OutOfMemoryError: Direct bu ...
- 【Flink】Flink报错OutofMemoryError : Direct buffer memory
文章目录 1.背景 3.源码分析 2.场景2 2.1 概述 3.场景3 3.1 概述 M.参考 1.背景 错误如下
- linux+jexus 部署.net core项目报500或502错误
linux+jexus 部署.net core项目,出现 502 BAD GATEWAY 或者 返回 500 等 5xx 错误码,表示服务器在尝试处理请求时发生内部错误. 解决方法: 1.确保项目编译 ...
- 64位 linux 中 oracle 11g dbca 报 out of memory 错误
oracle 11g 安装完毕后,想用dbca 建库 可是始终报ORA-27102 out of memory 百度了下基本上地位在内存参数配置不合理上 也就是/ect/sysconfig.ctl 原 ...
- jvm性能调优实战 -54Jetty NIO机制导致堆外内存溢出Direct buffer memory OOM
文章目录 Pre 案例 故障分析 关于解决OOM问题的底层技术修为的一点建议 堆外内存是如何申请的,又是如何释放的? 为什么会出现堆外内存溢出的情况? 真正的堆外内存溢出原因分析 Java NIO有这 ...
- Eclipse创建Maven项目报错处理Could not resolve archetype
Eclipse创建Maven项目报错处理 1.错误说明 错误一:Could not resolve archetype org.apache.maven.archetypes:maven-archet ...
- vue项目报eslint格式错误解决方案
vue项目报eslint格式错误解决方案 参考文章: (1)vue项目报eslint格式错误解决方案 (2)https://www.cnblogs.com/lcosima/p/8990616.html ...
最新文章
- jittor和pytorch生成网络对比之wgan_div
- win10使用python的strftime有错误_17个常见的Python运行时错误
- Linux视频切片m3u8,使用ffmpeg+nginx使用视频切片播放
- 用Python实现每秒处理120万次HTTP请求
- python3(六)监督学习
- pg和oracle比较,Oracle与PostgreSQL使用差异对比与总结
- LeetCode 143. 重排链表(链表反转+快慢指针)
- accessibility-service 高版本无法编译_今天我把APP的编译速度缩短了近5倍
- Ripple_vJZ
- 在递归中使用Continuation来避免StackOverflow(查找第K大的数)
- 学习《ACM 程序设计》笔记--STL
- 40 道数据挖掘面试真题大放送!
- 计算机如何通过手机连接网络打印机,怎样连接网络打印机【图文教程】
- Atitit r7 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0-D3C8 D:\ati\r2017 v3 r01\
- 整合+策略:微网通联的GMP平台如何帮助企业搭建统一智慧通信架构
- 如何为IT部门制定更好的战略计划
- 【OpenCV 例程 300篇】221.加密马赛克图像处理与解密复原
- 网站实现新浪微博登录
- 电脑断电后,突然无线有线网卡无法使用
- 网页偶尔出现 No input file specified 提示
热门文章
- 【前端面试知识题】- 3. HTML CSS
- 【计算机网络】学习笔记:第二章 物理层(五千字详细配图)【王道考研】
- Visual Studio 2012 Ultimate RTM 体验(附下载地址和KEY)
- 思念是一种美丽的孤独
- 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 Windows无法安装所需的文件,错误代码0x80070570
- FRP远程唤醒内网计算机
- 贝叶斯公式由浅入深大讲解—AI基础算法入门
- 交叉编译概念、配置方法以及使用
- 计算机控制面板作用,什么是控制面板;它有什么作用?
- 2020中式面点师(初级)考试题及中式面点师(初级)操作证考试