前言 版本上線時發現fastjson的toString方法的返回的字符串與與之前版本的toString方法返回的字符串不相同,這導致依賴toString進行md5計算所得到的結果不相同,更進一 ...
可能頻繁創建了大對象或者eden 區設置過小 大對象直接分配在老年代中,導致老年代空間不足 gt 從而頻繁 gc 可能老年代的空間設置過小了 Minor GC 幾個對象就大於老年代的剩余空間了 . . 如果一次 full GC 后,剩余對象不多,那么說明 Eden 的空間設置太小,導致大量短生命周期的對象被分配到了老生代。 . 如果一次 full GC 后,老生代的變化不大,那么是老年代分配空間 ...
2020-07-03 11:00 0 900 推薦指數:
前言 版本上線時發現fastjson的toString方法的返回的字符串與與之前版本的toString方法返回的字符串不相同,這導致依賴toString進行md5計算所得到的結果不相同,更進一 ...
某線上應用在進行查詢結果導出Excel時,大概率出現持續的FullGC。解決這個問題時,記錄了一下整個的流程,也可以作為一般性的FullGC問題排查指導。 后續review這篇文章的時候,發現排查過程還是不夠詳細,雖然最終解決了問題,但是仍缺少對根因對分析,並且遺漏了一些所需技能對整理 ...
前言 本文介紹服務器內運行的 Java 應用產生的 OOM 問題 和 CPU 100% 的問題定位 1. 內存 OOM 問題定位 某Java服務(比如進程id pid 為 3320)出現OOM,常見的原因為: 內存分配的確實小了,而正常業務使用了大量的內存 某個對象被頻繁申請 ...
使用場景 我們在使用系統時,有時請求和響應會變得特別慢,系統也變得很卡。 有可能是FullGC的問題,可以逐步地進行排查。 使用jps和top確定進程號pid jps可以列出正在運行的jvm進程,並顯示jvm執行主類名稱( main()函數所在的類),以及進程id。 命令 ...
處理過線上問題的同學基本上都會遇到系統突然運行緩慢,CPU 100%,以及 Full GC 次數過多的問題。 當然,這些問題最終導致的直觀現象就是系統運行緩慢,並且有大量的報警。 本文主要針對系統運行緩慢這一問題,提供該問題的排查思路,從而定位出問題的代碼點,進而提 ...
0.前言 JVM自帶了一堆可排查JVM運行狀況的工具。But,每個工具的使用姿勢、使用后果均不同。作為開發人員,需要清楚每個工具的執行結果,不然會出現隨手執行一個命令、引發嚴重線上故障的場景。 這里簡要說明幾個使用命令 jmap jmap ...
當你遇到以下類似問題而束手無策時,Arthas可以幫助你解決: 這個類從哪個 jar 包加載的?為什么會報各種類相關的 Exception? 我改的代碼為什么沒有執行到?難道是我沒 commit?分支搞錯了? 遇到問題無法在線上 debug,難道只能 ...
起因:周末測試發現線上mq消息積壓了十幾萬的消息,如下圖所示 每個隊列幾萬的消息,立即采取緊急措施,將隊列下線重新上線。 處理積壓消息的量,調用量起來了,很快消息積壓解決了。開始事件復盤。 首先分析是否是消息消費能力跟不上消息產生原因,看入口消息,QPS是29.6 消息消費 ...