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