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

記錄線上排查內(nèi)存泄露問題

這篇具有很好參考價(jià)值的文章主要介紹了記錄線上排查內(nèi)存泄露問題。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

背景

記錄一次云上排查內(nèi)存泄露的問題,最近監(jiān)控告警云上有空指針異常報(bào)出,于是找到運(yùn)維查日志定位到具體是哪一行代碼拋出的空指針異常,

問題分析

發(fā)現(xiàn)是在解析cookie的一個(gè)方法內(nèi),調(diào)用HttpServletRequest.getServerName()獲取不到拋出的NPE,這個(gè)獲取服務(wù)名獲取不到,平時(shí)都沒有出現(xiàn)過的問題,又沒有發(fā)版,那初步懷疑應(yīng)該前端或者傳輸過程有問題導(dǎo)致獲取不到參數(shù),

后續(xù)找了運(yùn)維查了ng的日志,確實(shí)存在狀態(tài)碼為499的錯(cuò)誤碼,查了一下這個(gè)是客戶端端主動(dòng)關(guān)閉請(qǐng)求或者客戶端網(wǎng)絡(luò)斷掉時(shí)報(bào)的錯(cuò)誤碼,那也就是前端斷開了請(qǐng)求,繼續(xù)排查為啥前端會(huì)中斷請(qǐng)求的原因,問了前端同學(xué)說是超時(shí)時(shí)間設(shè)置了10秒,又看了日志,確實(shí)是有處理時(shí)間超過10秒的,那問題大概定位到了。接下來就是分析處理時(shí)長(zhǎng)為什么會(huì)那么長(zhǎng),看了報(bào)錯(cuò)的時(shí)候請(qǐng)求量并沒有很大,2.0云上本身就還沒有放量,后續(xù)讓運(yùn)維查了機(jī)器有幾臺(tái)cpu用量處于30%左右,明顯高于另外幾臺(tái)3%,而且499錯(cuò)誤的集中在cpu用量高的幾臺(tái),懷疑是否是內(nèi)存問題導(dǎo)致,讓運(yùn)維跑了jstat -gcutil 看了一下,確實(shí)存在full GC問題,又跑了jmap -dump下了dump文件,定位到是ip限流的方法,有一個(gè)清除Map的方法在多線程并發(fā)情況下沒有生效,導(dǎo)致內(nèi)存泄露,知道問題后反推感覺就一切的疑問有了結(jié)果,ng報(bào)499是前置超時(shí),超時(shí)是服務(wù)頻繁full gc導(dǎo)致stw,無法處理請(qǐng)求導(dǎo)致耗時(shí)增加,ng探活接口在機(jī)器stw期間無法響應(yīng)產(chǎn)生了error.log,而有幾臺(tái)機(jī)器cpu不高是因?yàn)橹爸貑⑦^所以釋放掉了內(nèi)存沒有觸發(fā)full gc。

后續(xù)處理是改進(jìn)了ip限流的方法,測(cè)試環(huán)境復(fù)現(xiàn)問題和改動(dòng)限流方法,

(jstat命令使用參考:https://www.cnblogs.com/i-code/p/14157048.html)

1、FullGc觸發(fā)的很頻繁,時(shí)間或是次數(shù)并不是遠(yuǎn)小于Younggc的,但是每次回收都較為有效,回收后能有效清理內(nèi)存釋放空間。此時(shí)考慮內(nèi)存分配不足,應(yīng)調(diào)整Jvm啟動(dòng)參數(shù)(Xmx
Xms),以避免頻繁gc影響性能甚至因內(nèi)存不夠造成 OOM。

2、FullGc后期觸發(fā)越發(fā)頻繁,每次回收后老年代內(nèi)存釋放的很少,這種情況是內(nèi)存泄漏或業(yè)務(wù)設(shè)計(jì)不合理導(dǎo)致,泄露的內(nèi)存不能被有效回收,導(dǎo)致可用空間越來越小最后直至不可用,此種問題需要針對(duì)性的解決。

總結(jié)

通過guaua的LoadingCache監(jiān)聽器的方式過期自動(dòng)處理,這次問題嵌套問題比較多,由于上報(bào)量低,ng側(cè)報(bào)了499沒有納入監(jiān)控范圍,而且機(jī)器由于重啟沒有快速發(fā)現(xiàn)問題,后續(xù)改進(jìn)是代碼側(cè)能復(fù)用規(guī)范代碼最好復(fù)用,不要重復(fù)造輪子,和測(cè)試溝通階段應(yīng)該覆蓋對(duì)應(yīng)的場(chǎng)景測(cè)試,開發(fā)需要詳盡跟測(cè)試反饋改動(dòng)點(diǎn)和測(cè)試案例評(píng)審,定位問題應(yīng)該從實(shí)際出發(fā),出現(xiàn)問題得及時(shí)從現(xiàn)有信息的結(jié)果反饋去判斷問題所在,及時(shí)處理和團(tuán)隊(duì)溝通。

記錄線上排查內(nèi)存泄露問題文章來源地址http://www.zghlxwxcb.cn/news/detail-435611.html

到了這里,關(guān)于記錄線上排查內(nèi)存泄露問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Java 使用 VisualVM 排查內(nèi)存泄露

    Java 使用 VisualVM 排查內(nèi)存泄露

    線上突發(fā)告警,筆者負(fù)責(zé)的一個(gè)服務(wù) 老年代內(nèi)存使用率到達(dá) 75% 閾值 ,于是立即登錄監(jiān)控系統(tǒng)查看數(shù)據(jù)。拉長(zhǎng)時(shí)間周期,查看最近 7 天的 GC 和老年代內(nèi)存占用,監(jiān)控截圖如下。 可以看到老年代占用內(nèi)存的最低點(diǎn)在逐步抬升,初步判斷是發(fā)生了內(nèi)存泄露 2.1 初步排查 從監(jiān)控上

    2024年02月15日
    瀏覽(21)
  • C++內(nèi)存泄露排查的一個(gè)案例

    C++內(nèi)存泄露排查的一個(gè)案例

    背景: 這熟悉的線條. 請(qǐng)求量沒啥波動(dòng), 不用懷疑, 就是內(nèi)存泄露了. 方案一 Valgrind Valgrind可以用來檢測(cè)是否有非法使用內(nèi)存的問題, 如: 訪問未初始化的內(nèi)存,訪問數(shù)組越界, 忘記釋放動(dòng)態(tài)內(nèi)存的問題; 首先需要定位是哪個(gè)進(jìn)程的內(nèi)存泄露. 使用top命令, 然后shift+m按照內(nèi)存排序, 找

    2024年02月13日
    瀏覽(29)
  • 【JVM】Java內(nèi)存泄露的排查思路?

    【JVM】Java內(nèi)存泄露的排查思路?

    Java內(nèi)存泄露(Memory Leak)是指在Java程序中,無用的對(duì)象占用了 堆內(nèi)存 ,但無法被垃圾回收器回收釋放,從而導(dǎo)致可用內(nèi)存逐漸減少,最終可能導(dǎo)致內(nèi)存耗盡或性能下降的問題。 說明一般對(duì)于內(nèi)存泄漏。都是針對(duì) 堆 的。 程序一般出現(xiàn)內(nèi)存泄漏會(huì)有 兩個(gè)狀態(tài) 一是一啟動(dòng)導(dǎo)致

    2024年02月13日
    瀏覽(24)
  • 線上排查定位OOM問題的記錄

    線上排查定位OOM問題的記錄

    整體思路:把機(jī)器上的快照文件下載到本地電腦,用eclipse analyzer打開它,找到是哪一行導(dǎo)致oom。 注:日志里看不到報(bào)錯(cuò)信息是因?yàn)?還沒有來得及記錄到日志文件,就down了。 把該文件下載到本地電腦,可以借助xftp等工具下載。 如果想在IDEA里模擬oom,這么設(shè)置jvm參數(shù): -Xm

    2024年02月10日
    瀏覽(21)
  • Linux C/C++ 程序內(nèi)存泄露排查

    由于C/C++程序可以動(dòng)態(tài)申請(qǐng)內(nèi)存,動(dòng)態(tài)申請(qǐng)的內(nèi)存位于程序的隊(duì)區(qū),如果程序比較復(fù)雜,程序員在編寫代碼的時(shí)候不小心,可能會(huì)存在申請(qǐng)了內(nèi)存沒有釋放的情況,程序長(zhǎng)期運(yùn)行,會(huì)導(dǎo)致系統(tǒng)中用戶程序可分配堆內(nèi)存越來越少的,最終程序OOM崩潰。 /proc/meminfo 文件保存了系統(tǒng)

    2024年02月03日
    瀏覽(24)
  • C++經(jīng)典面試題:內(nèi)存泄露是什么?如何排查?

    1.內(nèi)存泄露的定義:內(nèi)存泄漏簡(jiǎn)單的說就是申請(qǐng)了?塊內(nèi)存空間,使?完畢后沒有釋放掉。 它的?般表現(xiàn)?式是程序運(yùn)?時(shí)間越?,占?內(nèi)存越多,最終?盡全部?jī)?nèi)存,整個(gè)系統(tǒng)崩潰。由程序申請(qǐng)的?塊內(nèi)存,且沒有任何?個(gè)指針指向它,那么這塊內(nèi)存就泄漏了。 2.如何檢測(cè)

    2024年02月07日
    瀏覽(24)
  • 線上FullGC問題排查實(shí)踐——手把手教你排查線上問題

    線上FullGC問題排查實(shí)踐——手把手教你排查線上問題

    作者:京東科技 韓國(guó)凱 問題起因是我們收到了jdos的容器CPU告警,CPU使用率已經(jīng)達(dá)到104% 觀察該機(jī)器日志發(fā)現(xiàn),此時(shí)有很多線程在執(zhí)行跑批任務(wù)。正常來說,跑批任務(wù)是低CPU高內(nèi)存型,所以此時(shí)考慮是FullGC引起的大量CPU占用(之前有類似情況,告知用戶后重啟應(yīng)用后解決問題

    2024年02月02日
    瀏覽(29)
  • 線上問題排查回答(轉(zhuǎn)載)

    面試官:「你是怎么定位線上問題的?」 這個(gè)面試題我在兩年社招的時(shí)候遇到過,前幾天面試也遇到了。我覺得我每一次都答得中規(guī)中矩,今天來梳理復(fù)盤下,下次又被問到的時(shí)候希望可以答得更好。 下一次我應(yīng)該會(huì)按照這個(gè)思路去答: 1、如果線上出現(xiàn)了問題,我們更多的

    2023年04月27日
    瀏覽(19)
  • 【面試】線上 CPU 100% 問題排查

    【面試】線上 CPU 100% 問題排查

    回答套路一般為:線上服務(wù)器沒有排查過,線上服務(wù)器只有運(yùn)維才有操作權(quán)限。在平時(shí)開發(fā)的時(shí)候,在測(cè)試服務(wù)器上排查過。 2.1、將代碼打包成 jar 包 參考: 點(diǎn)我 2.2、傳到服務(wù)并運(yùn)行 運(yùn)行好的效果如下 3.1、拿到進(jìn)程 id 通過 top 命令,就可以看到讓 cpu 100% 的進(jìn)程 id,pid 就是

    2024年02月11日
    瀏覽(28)
  • 【記一次線上事故的排查思路】- CPU飆升問題排查

    【記一次線上事故的排查思路】- CPU飆升問題排查

    由于項(xiàng)目排期較緊,臨時(shí)從其他組調(diào)來三個(gè)開發(fā)資源幫我一起做項(xiàng)目,難免上線的時(shí)候大家的需求一塊上線。 問題來了,上線三天后,線上CPU總是莫名奇妙的突然飆升,飆升后CPU并未降下來,而是一直處在高點(diǎn)。 由于是線上導(dǎo)致的問題,CPU超限后,會(huì)自動(dòng)重啟項(xiàng)目,未能保

    2024年01月23日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包