国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

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

這篇具有很好參考價值的文章主要介紹了gateway報 netty堆外內(nèi)存溢出問題解決io.netty.util.internal.OutOfDirectMemoryError。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

昨天線上網(wǎng)關(guān)突然無法訪問。打開日志看到錯誤信息“io.netty.util.internal.OutOfDirectMemoryError” 堆外內(nèi)存溢出。。這也沒碰到過啊,看來今天準(zhǔn)點(diǎn)下班的愿望又落空了。老規(guī)矩面向百度編程。先看看網(wǎng)上有沒有其他兄弟碰到這個問題。一頓搜索之后發(fā)現(xiàn),很多博客都是一知半解并不能解決我的問題。但是大概得到一個信息,這bug是有netty導(dǎo)致的,一般是用了ByteBuf對象沒有調(diào)用release()釋放內(nèi)存。

但是項(xiàng)目代碼這么多如何排查具體的問題代碼呢?我靈機(jī)一動,netty本身有沒有提供排查工具呢?繼續(xù)百度發(fā)現(xiàn)Netty自身已經(jīng)自帶了內(nèi)存泄漏檢測工具,可用于檢測出ByteBuf對象被GC回收,但ByteBuf管理的內(nèi)存沒有釋放的情況(但不適用ByteBuf對象還沒被GC回收內(nèi)存泄漏的情況,例如任務(wù)隊(duì)列積壓)為了便于用戶發(fā)現(xiàn)內(nèi)存泄露,Netty提供4個檢測級別:
disabled 完全關(guān)閉內(nèi)存泄露檢測
simple ?以約1%的抽樣率檢測是否泄露,默認(rèn)級別
advanced ?抽樣率同simple,但顯示詳細(xì)的泄露報告
paranoid 抽樣率為100%,顯示報告信息同advanced

奶思!

本地把把項(xiàng)目跑起來,記得加JVM參數(shù)?-Dio.netty.leakDetectionLevel=paranoid 開啟netty自帶檢測,級別調(diào)到最高(火力全開?。?。項(xiàng)目跑了不一會就看到了報錯信息:

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

如上圖已經(jīng)提示了錯誤發(fā)生的地方,自行去代碼中改就好。一般是對于ByteBuf申請相關(guān)代碼的操作沒有加Release操作??赏ㄟ^在ReferenceCountUtil.safeRelease(buf);來釋放。

??這時候大多數(shù)情況下的問題都解決了。秀兒我單純以為終于可以喝口茶準(zhǔn)備下班了。gateway報 netty堆外內(nèi)存溢出問題解決io.netty.util.internal.OutOfDirectMemoryError

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

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

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

升級到

<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>

升級到

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

重啟,問題解決!文章來源地址http://www.zghlxwxcb.cn/news/detail-496920.html

到了這里,關(guān)于gateway報 netty堆外內(nèi)存溢出問題解決io.netty.util.internal.OutOfDirectMemoryError的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 什么?MC服務(wù)器又遇到了io???!!!(io.netty.channel.AbstractChannel問題分析與解決)

    當(dāng)我正在期待地打開我自己搭建的MC服務(wù)器時 一點(diǎn)~!??! 幾十秒鐘的等待后,出現(xiàn)了IO!當(dāng)然這里并不是IO接口,而是我對他的簡稱: io.netty.channel.AbstractChannel$AnnotatedConnectException:Connection timed out:no further information 這種錯誤我一看,我心都涼了,前面什么$什么io什么netty我都不管

    2024年02月05日
    瀏覽(18)
  • VITE打包時內(nèi)存溢出問題解決 FATAL ERROR: Ineffective mark-compacts near heap limit

    VITE打包時內(nèi)存溢出問題解決 FATAL ERROR: Ineffective mark-compacts near heap limit

    樓主也不知道怎么回事在編寫Vue3+Cesium項(xiàng)目打包時就遇見了這個問題,然后根據(jù)百度到的資料說是node編譯時內(nèi)存不夠需要手動提升內(nèi)存,然后需要安裝兩個組件,相關(guān)博客鏈接我貼在下面: https://blog.csdn.net/qq_43227958/article/details/123017935 安裝完插件之后運(yùn)行npm run build 還是不行,會報

    2024年02月16日
    瀏覽(25)
  • java 申請堆外內(nèi)存嗎? java如何使用堆外內(nèi)存?

    java 申請堆外內(nèi)存嗎? java如何使用堆外內(nèi)存?

    JVM可以使用的內(nèi)存分外2種:堆內(nèi)存和堆外內(nèi)存: 堆內(nèi)存完全由JVM負(fù)責(zé)分配和釋放,如果程序沒有缺陷代碼導(dǎo)致內(nèi)存泄露,那么就不會遇到j(luò)ava.lang.OutOfMemoryError這個錯誤。 使用堆外內(nèi)存,就是為了能直接分配和釋放內(nèi)存,提高效率。JDK5.0之后,代碼中能直接操作本地內(nèi)存的方

    2024年02月06日
    瀏覽(10)
  • 添加https后反向代理gateway報錯io.netty.handler.ssl.NotSslRecordException: not an SSL/TLS record

    域名及https綁定在openshift的router上,用route的Edge模式,證書終止在router(證書卸載),轉(zhuǎn)發(fā)向后端請求是http的。后端接入nginx做反向代理,所有項(xiàng)目的流量都通過這個nginx。再向后轉(zhuǎn)發(fā)是兩個nginx,作為本項(xiàng)目的流量入口,有反代和靜態(tài)文件解析功能。再向后就是服務(wù)gateway。

    2024年02月11日
    瀏覽(19)
  • 常見內(nèi)存溢出與CPU 100%問題

    SQL in 過多 https://mp.weixin.qq.com/s/g5Y47cQ25KbVjzHhZcjN7g 面對 OOM 問題如果代碼不是有明顯的問題,下面幾個JVM參數(shù)相當(dāng)有用,尤其是在容器化之后。 另外提一個參數(shù)也很有用,正常來說如果程序出現(xiàn) OOM 之后,就是有代碼存在內(nèi)存泄漏的風(fēng)險,這個時候即使能對外提供服務(wù),其實(shí)也

    2024年02月01日
    瀏覽(13)
  • OutOfMemoryError內(nèi)存溢出和StackOverFlowError棧溢出及解決方法

    OutOfMemoryError內(nèi)存溢出和StackOverFlowError棧溢出及解決方法

    前一篇: JVM 內(nèi)存結(jié)構(gòu) 線程的堆棧存儲 線程局部原始數(shù)據(jù)類型、變量、對象的引用、返回值。如果線程堆棧大小超出分配的內(nèi)存限制,就會出現(xiàn)棧溢出錯誤。 這里用遞歸調(diào)演示錯誤 解決方法: 1、修改代碼 2、修改棧大小配置 64位電腦默認(rèn)棧大小為 1024k=1m??梢孕薷臑?Xss2

    2024年02月10日
    瀏覽(22)
  • torch.empty()造成的內(nèi)存溢出問題

    代碼實(shí)現(xiàn)的時候遇見了一個很奇怪的問題,運(yùn)行同一段代碼會出現(xiàn)一些奇怪的超大指數(shù)值,調(diào)試發(fā)現(xiàn)是混淆了torch.empty 和torch.zeros的概念。對torch.empty初始化的矩陣直接“+=”,出現(xiàn)的內(nèi)存問題。 例如: 上述代碼不會報錯,但是結(jié)果不正確。 這是由于torch.empty 創(chuàng)建了矩陣會分

    2024年01月24日
    瀏覽(27)
  • JVM 堆外內(nèi)存查看方法

    JVM 堆外內(nèi)存查看方法

    是否曾經(jīng)想過為什么Java應(yīng)用程序通過眾所周知的*-Xms 和 -Xmx 調(diào)整標(biāo)志消耗的內(nèi)存比指定的數(shù)量大得多 ?由于各種原因和可能的優(yōu)化,JVM可能會分配額外的本機(jī)內(nèi)存。這些額外的分配最終可能使消耗的內(nèi)存超出 -Xmx* 限制。 在本教程中,我們將枚舉JVM中本機(jī)內(nèi)存分配的一些常見

    2024年02月07日
    瀏覽(15)
  • jvm堆外內(nèi)存排查詳解

    jvm堆外內(nèi)存排查詳解

    內(nèi)存泄漏想必大家并不陌生,對于jvm的內(nèi)存泄漏,有很多排查手段和方便的排查工具,例如MAL,但是對于非jvm的內(nèi)存,如直接內(nèi)存的使用,排查起來較為麻煩,下面介紹一下相關(guān)的排查手段 在一次內(nèi)存檢查的過程中,意外發(fā)現(xiàn)在linux的java進(jìn)程內(nèi)存占用,遠(yuǎn)高于jvm的內(nèi)存設(shè)定最

    2024年02月08日
    瀏覽(34)
  • 如何逐步排查因文件問題導(dǎo)致的內(nèi)存溢出

    逐步排查內(nèi)存溢出問題通常需要一系列的步驟,其中逐漸增大傳輸文件的大小,并觀察內(nèi)存使用情況,是一種合理的方法。下面是您可以采取的步驟: 增大傳輸文件大?。?將傳輸?shù)奈募笮≈鸩皆龃?,這樣您可以模擬更大的資源負(fù)載。這有助于觀察內(nèi)存使用情況在不同負(fù)載

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包