前言

最近项目中出现了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错误相关推荐

  1. 【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 ...

  2. Direct buffer memory

    Direct buffer memory:主要应NIO引起的. 原因: Java8出现了NIO,缓存,通道,选择器.在 写NIO程序的时候,经常使用ByteBuffer来读或者写入数据,这是一种基于通 ...

  3. 【Kafka】kafka OutOfMemoryError: Direct buffer memory Java heap space

    1.背景 做实验:[Kafka]Kafka如何开启SSL 控制台消费与生产 代码消费与生产 的时候,因为机器太卡导致内存溢出 java.lang.OutOfMemoryError: Direct bu ...

  4. 【Flink】Flink报错OutofMemoryError : Direct buffer memory

    文章目录 1.背景 3.源码分析 2.场景2 2.1 概述 3.场景3 3.1 概述 M.参考 1.背景 错误如下

  5. linux+jexus 部署.net core项目报500或502错误

    linux+jexus 部署.net core项目,出现 502 BAD GATEWAY 或者 返回 500 等 5xx 错误码,表示服务器在尝试处理请求时发生内部错误. 解决方法: 1.确保项目编译 ...

  6. 64位 linux 中 oracle 11g dbca 报 out of memory 错误

    oracle 11g 安装完毕后,想用dbca 建库 可是始终报ORA-27102 out of memory 百度了下基本上地位在内存参数配置不合理上 也就是/ect/sysconfig.ctl 原 ...

  7. jvm性能调优实战 -54Jetty NIO机制导致堆外内存溢出Direct buffer memory OOM

    文章目录 Pre 案例 故障分析 关于解决OOM问题的底层技术修为的一点建议 堆外内存是如何申请的,又是如何释放的? 为什么会出现堆外内存溢出的情况? 真正的堆外内存溢出原因分析 Java NIO有这 ...

  8. Eclipse创建Maven项目报错处理Could not resolve archetype

    Eclipse创建Maven项目报错处理 1.错误说明 错误一:Could not resolve archetype org.apache.maven.archetypes:maven-archet ...

  9. vue项目报eslint格式错误解决方案

    vue项目报eslint格式错误解决方案 参考文章: (1)vue项目报eslint格式错误解决方案 (2)https://www.cnblogs.com/lcosima/p/8990616.html ...

最新文章

  1. jittor和pytorch生成网络对比之wgan_div
  2. win10使用python的strftime有错误_17个常见的Python运行时错误
  3. Linux视频切片m3u8,使用ffmpeg+nginx使用视频切片播放
  4. 用Python实现每秒处理120万次HTTP请求
  5. python3(六)监督学习
  6. pg和oracle比较,Oracle与PostgreSQL使用差异对比与总结
  7. LeetCode 143. 重排链表(链表反转+快慢指针)
  8. accessibility-service 高版本无法编译_今天我把APP的编译速度缩短了近5倍
  9. Ripple_vJZ
  10. 在递归中使用Continuation来避免StackOverflow(查找第K大的数)
  11. 学习《ACM 程序设计》笔记--STL
  12. 40 道数据挖掘面试真题大放送!
  13. 计算机如何通过手机连接网络打印机,怎样连接网络打印机【图文教程】
  14. Atitit r7 doc list on home ntpc.docx 驱动器 D 中的卷是 p2soft 卷的序列号是 9AD0-D3C8 D:\ati\r2017 v3 r01\
  15. 整合+策略:微网通联的GMP平台如何帮助企业搭建统一智慧通信架构
  16. 如何为IT部门制定更好的战略计划
  17. 【OpenCV 例程 300篇】221.加密马赛克图像处理与解密复原
  18. 网站实现新浪微博登录
  19. 电脑断电后,突然无线有线网卡无法使用
  20. 网页偶尔出现 No input file specified 提示

热门文章

  1. 【前端面试知识题】- 3. HTML CSS
  2. 【计算机网络】学习笔记:第二章 物理层(五千字详细配图)【王道考研】
  3. Visual Studio 2012 Ultimate RTM 体验(附下载地址和KEY)
  4. 思念是一种美丽的孤独
  5. 2013 Mac Air 装Win7双系统问题-安装程序无法创建新的分区,也无法定位系统 Windows无法安装所需的文件,错误代码0x80070570
  6. FRP远程唤醒内网计算机
  7. 贝叶斯公式由浅入深大讲解—AI基础算法入门
  8. 交叉编译概念、配置方法以及使用
  9. 计算机控制面板作用,什么是控制面板;它有什么作用?
  10. 2020中式面点师(初级)考试题及中式面点师(初级)操作证考试