完蛋!我被 Out of Memory 包圍了!
來源:京東雲開發者
是極致魅惑、灑脫自由的 Java heap space? 是知性柔情、溫婉大氣的 GC overhead limit exceeded? 是純真無邪、活潑可愛的 Metaspace? 如果以上不是你的菜,那還有…… 刁蠻任性,無跡可尋的 CodeCache! 性感火辣、心思細膩的 Direct Memory 高貴冷豔,獨愛你一人的 OOM Killer!
java.lang.OutOfMemoryError: Java heap space分析解決起來無非是那幾步:
dump 堆記憶體 透過 MAT、YourKit、JProfiler 、IDEA Profiler 等一系列工具分析dump檔案 找到佔用記憶體最多、最大的物件,看看是哪個小可愛乾的 分析程式碼,嘗試最佳化程式碼、減少物件建立 增加 JVM 堆記憶體、限制請求數、執行緒數、增加節點數量等
常見類庫使用誤區
Apache HttpClient
CloseableHttpClient httpClient = HttpClients.custom() .setMaxConnPerRoute(maxConnPerRoute) .setMaxConnTotal(maxConnTotal) /// ... .build();
Gson
Jackson
請求量可能並不大 不停 GC,並切暫停時間很長 時不時的還有新的請求,但響應時間很高 CPU 利用率很高
-XX:MaxMetaspaceSize=
java.lang.OutOfMemoryError: Metaspace
透過 Arthas 之類的工具,檢視 ClassLoader、loadClassess 的資料,分析數量較多的 ClassLoader 或者 Class 列印每個 class 的載入日誌:-XX:+TraceClassLoading -XX:+TraceClassUnloading
反射使用不當
一些 Agent 的 bug
動態代理問題
Server VM warning: CodeCache is full. Compiler has been disabled.
-XX:ReservedCodeCacheSize=
## A fatal error has been detected by the Java Runtime Environment:## EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffdbd5d19b4, pid=1208, tid=0x0000000000002ee0## JRE version: Java(TM) SE Runtime Environment (8.0_301-b09) (build 1.8.0_301-b09)# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.301-b09 mixed mode windows-amd64 compressed oops) # Problematic frame:# C [msvcr100.dll+0x119b4]# # No core dump will be written. Minidumps are not enabled by default on client versions of Windows## If you would like to submit a bug report, please visit:#
-XX:MaxDirectMemorySize=如果 Direct Memory 達到 MaxDirectMemorySize 並且無法釋放時,就會得到一個 OOM錯誤:
java.lang.OutOfMemoryError: Direct buffer memory
pmap 檢視記憶體地址對映,定位可疑記憶體塊、分析記憶體塊資料 strace 手動追蹤程式系統呼叫,分析記憶體分配的系統呼叫鏈路 更換jemalloc/tcmalloc之類的記憶體分配器(或者 async-profiler有個支援native 分析的分支)追蹤malloc的呼叫鏈路
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024923/viewspace-2994617/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 《完蛋!我被美女包圍了!》是怎麼做好選擇題的?
- 遊戲雜談:從心理學的角度簡評《完蛋!我被美女包圍了!》遊戲
- V社:Steam國區《完蛋!我被美女包圍了》力壓《使命召喚》拿下冠軍
- 完蛋,我被數字同事包圍了!小冰AI數字員工再升級,零樣本定製,即時上崗AI
- OOM(Out Of Memory)OOM
- 請求支援,我們被非結構化資料包圍了!
- 聯手《完蛋!我被美女包圍了!》, 中手遊旗下國民級IP《仙劍奇俠傳》授權INTINY開發互動影像新作
- OOM(Out Of Memory)是什麼?OOM
- (轉貼)Out of Memory: Killed process
- PostgreSQL DBA(95) - PG 12 Partition(out of shared memory)SQL
- 【ERROR】ORA-27102: out of memory 解決方法Error
- git post資料過大報錯-Out of memoryGit
- iOS Out-Of-Memory 原理闡述及方案調研iOS
- 我被刪庫了
- 當年,我的架構師之路差點完蛋,幸虧了它架構
- 被大資料包圍,還有隱私可言嗎?大資料
- 完蛋,我的事務怎麼不生效?
- Composer 記憶體不足解決方案 PHP Fatal error: Out of memory記憶體PHPError
- 由node的批量requests引起的”heap out of memory”解決方案
- 連影視互動遊戲也能快速複製?《完美!我被美女包圍了》的最快複製專案《我和美女有個約會》成績到底如何?遊戲
- 我們的網站被狗爬了!網站
- Out of sort memory, consider increasing server sort buffer size的兩種情況IDEServer
- ORA-04030: out of process memory ...(initSubHeap:qk...)的錯誤解決
- 被圍攻的微信,到底替誰擋了槍子?
- 我們的網站被收錄了!網站
- mybatis plus很好,但是我被它坑了!MyBatis
- 我的小程式介面被刷爆了
- Java Out Of Memory解決之JAVA_OPTS引數說明與配置Java
- Win10系統玩cf出現out of memory的解決方法Win10
- 世界機器人大會上,這家承載「未來養老希望」的國產機器人被包圍了機器人
- 我不寫單元測試,被批了
- 只知道ajax?你已經out了
- 日本研發圓滾滾的球形無人機,被LED屏團團包圍無人機
- 130被圍繞的區域
- “我們終於被‘定義’了。不僅有了新市民身份
- 完蛋,要觸發人生中第二次裁員了......
- Javascript記憶體溢位,FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryJavaScript記憶體溢位ErrorASTAI
- 完蛋!這DLC不行啊?!