最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決gateway報(bào)netty堆外內(nèi)存溢出io.netty.util.internal.OutOfDirectMemoryError

 更新時(shí)間:2023年12月28日 09:27:21   作者:真-酸辣土豆絲  
這篇文章主要介紹了解決gateway報(bào)netty堆外內(nèi)存溢出io.netty.util.internal.OutOfDirectMemoryError,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

gateway報(bào)netty堆外內(nèi)存溢出io.netty.util.internal.OutOfDirectMemoryError

昨天線上網(wǎng)關(guān)突然無法訪問。打開日志看到錯(cuò)誤信息“io.netty.util.internal.OutOfDirectMemoryError” 堆外內(nèi)存溢出。。

這也沒碰到過啊,看來今天準(zhǔn)點(diǎn)下班的愿望又落空了。老規(guī)矩面向百度編程。

先看看網(wǎng)上有沒有其他兄弟碰到這個(gè)問題。

一頓搜索之后發(fā)現(xiàn),很多博客都是一知半解并不能解決我的問題。

但是大概得到一個(gè)信息,這bug是有netty導(dǎo)致的,一般是用了ByteBuf對(duì)象沒有調(diào)用release()釋放內(nèi)存。

但是項(xiàng)目代碼這么多如何排查具體的問題代碼呢?

我靈機(jī)一動(dòng),netty本身有沒有提供排查工具呢?

繼續(xù)百度發(fā)現(xiàn)Netty自身已經(jīng)自帶了內(nèi)存泄漏檢測(cè)工具,可用于檢測(cè)出ByteBuf對(duì)象被GC回收,但ByteBuf管理的內(nèi)存沒有釋放的情況(但不適用ByteBuf對(duì)象還沒被GC回收內(nèi)存泄漏的情況,例如任務(wù)隊(duì)列積壓)為了便于用戶發(fā)現(xiàn)內(nèi)存泄露

Netty提供4個(gè)檢測(cè)級(jí)別:

  • disabled 完全關(guān)閉內(nèi)存泄露檢測(cè)
  • simple  以約1%的抽樣率檢測(cè)是否泄露,默認(rèn)級(jí)別
  • advanced  抽樣率同simple,但顯示詳細(xì)的泄露報(bào)告
  • paranoid 抽樣率為100%,顯示報(bào)告信息同advanced

奶思!

本地把把項(xiàng)目跑起來,記得加JVM參數(shù) -Dio.netty.leakDetectionLevel=paranoid 開啟netty自帶檢測(cè),級(jí)別調(diào)到最高(火力全開?。?。

項(xiàng)目跑了不一會(huì)就看到了報(bào)錯(cuò)信息:

如上圖已經(jīng)提示了錯(cuò)誤發(fā)生的地方,自行去代碼中改就好。

一般是對(duì)于ByteBuf申請(qǐng)相關(guān)代碼的操作沒有加Release操作。

可通過在ReferenceCountUtil.safeRelease(buf);來釋放。

這時(shí)候大多數(shù)情況下的問題都解決了。秀兒我單純以為終于可以喝口茶準(zhǔn)備下班了。

事實(shí)證明,我的問題恰恰不在大部分里面。。。報(bào)錯(cuò)信息的位置都是在框架源碼中。我去哪里加release??

經(jīng)過一番激烈的研究(百度),應(yīng)該是依賴版本的bug。

升級(jí)下版本就好了

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.6.RELEASE</version>

升級(jí)到

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.13.RELEASE</version>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <version>2.2.5.RELEASE</version>
</dependency>

升級(jí)到

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-gateway</artifactId>
    <version>2.2.8.RELEASE</version>
</dependency>

重啟,問題解決!

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Java在redis中進(jìn)行對(duì)象的緩存

    詳解Java在redis中進(jìn)行對(duì)象的緩存

    這篇文章主要介紹了Java在redis中進(jìn)行對(duì)象的緩存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • web項(xiàng)目WEB-INF下沒有web.xml的解決方法

    web項(xiàng)目WEB-INF下沒有web.xml的解決方法

    新手如果在web項(xiàng)目創(chuàng)建后WEB-INF下面沒有出現(xiàn)web.xml,怎么辦?別慌,沒有web.xml文件的原因是因?yàn)樵趧?chuàng)建web項(xiàng)目的時(shí)候沒有把創(chuàng)建web.xml勾上。這篇文章主要介紹了web項(xiàng)目WEB-INF下沒有web.xml的解決方法,需要的朋友可以參考下
    2022-12-12
  • 實(shí)現(xiàn)java簡(jiǎn)單的線程池

    實(shí)現(xiàn)java簡(jiǎn)單的線程池

    這篇文章主要為大家詳細(xì)介紹了java簡(jiǎn)單實(shí)現(xiàn)多線程,及java爬蟲使用線程池實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java?List集合取交集的8種不同實(shí)現(xiàn)方式總結(jié)

    Java?List集合取交集的8種不同實(shí)現(xiàn)方式總結(jié)

    工作中經(jīng)常遇到需要取兩個(gè)集合之間的交集、差集情況,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java?List集合取交集的8種不同實(shí)現(xiàn)方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-04-04
  • SpringBoot如何使用內(nèi)嵌Tomcat問題

    SpringBoot如何使用內(nèi)嵌Tomcat問題

    這篇文章主要介紹了SpringBoot如何使用內(nèi)嵌Tomcat問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Springboot 如何實(shí)現(xiàn)filter攔截token驗(yàn)證和跨域

    Springboot 如何實(shí)現(xiàn)filter攔截token驗(yàn)證和跨域

    這篇文章主要介紹了Springboot 如何實(shí)現(xiàn)filter攔截token驗(yàn)證和跨域操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringMVC整合,出現(xiàn)注解沒有起作用的情況處理

    SpringMVC整合,出現(xiàn)注解沒有起作用的情況處理

    這篇文章主要介紹了SpringMVC整合,出現(xiàn)注解沒有起作用的情況及處理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-05-05
  • 詳解如何使用Java流API構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)

    詳解如何使用Java流API構(gòu)建樹形結(jié)構(gòu)數(shù)據(jù)

    在實(shí)際開發(fā)中,構(gòu)建樹狀層次結(jié)構(gòu)是常見需求,本文主要為大家詳細(xì)介紹了如何使用Java 8 Stream API將扁平化的菜單數(shù)據(jù)轉(zhuǎn)換為具有層級(jí)關(guān)系的樹形結(jié)構(gòu),需要的可以參考下
    2024-04-04
  • log4j2使用filter過濾日志方式

    log4j2使用filter過濾日志方式

    這篇文章主要介紹了log4j2使用filter過濾日志方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java 實(shí)現(xiàn)常見的非對(duì)稱加密算法

    Java 實(shí)現(xiàn)常見的非對(duì)稱加密算法

    這篇文章主要介紹了Java 實(shí)現(xiàn)常見的非對(duì)稱加密算法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論

寻乌县| 崇州市| 崇阳县| 吉木乃县| 尼玛县| 绥棱县| 巴林左旗| 扬中市| 辰溪县| 蛟河市| 永嘉县| 富阳市| 专栏| 商都县| 漯河市| 武鸣县| 普格县| 金沙县| 马公市| 石柱| 山阴县| 溆浦县| 长子县| 锦屏县| 益阳市| 三明市| 崇明县| 页游| 泸水县| 长汀县| 岳池县| 海阳市| 屏山县| 佛坪县| 江陵县| 万荣县| 东兴市| 淳化县| 马边| 和龙市| 应用必备|