OutOfDirectMemoryError


OutOfDirectMemoryError

OutOfDirectMemoryError错误,使用Springboot2.0↑整合Redis出现这个错误,是堆外内存错误的意思,原因是springboot2.0以后默认使用lettuce作为操作redis的客户端。它使用netty进行网络通信。

lettuce的bug导致netty堆外内存溢出,项目启动时指定 -Xmx200m;netty如果没有指定堆外内存,默认使用 指定的堆内存大小,即 -Xmx200m

解决方案:不能使用-Dio.netty.maxDirectMemory只调大堆外内存,调大只能延后报错的时间,错误还是一定会发生;

1、升级lettuce客户端;

2、切换使用jedis;

我们在spring中使用redisTemplate操作redis即可,Spring封装了Lettuce和Jedis操作redis


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



猜您在找
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM