直播平臺搭建,Java 記憶體溢位的排查方法

zhibo系統開發發表於2023-12-16

直播平臺搭建,Java 記憶體溢位的排查方法

JDK 自帶命令

jstat -gcutil 33816 250 20 # 監控 jvm 的記憶體使用情況
jps -ml # 輸出虛擬機器啟動時傳遞給主類 main() 的引數,輸出主類的全名
jmap -F -dump:live,format=b,file=dump.bin 85962 # dump 堆記憶體
# 分析方法
# 可以使用 VisualVM,主要檢視是否存在大物件,然後分析為什麼沒有被回收
jstack -F -l -m 85962 # 顯示虛擬機器快照
jstack -l PID >> test.txt
jmap -histo pid # 實時檢視JVM物件大小的排序結果,但無法看到物件的具體內容

Arthas

# 找到最耗CPU的方法
thread -n 5
# 觀察方法的返回
watch com.test.MyClass query returnObj
# 反編譯類
jad com.test.MyClass
# 監控呼叫情況
monitor -c 5 com.test.MyClass query
# 檢視分段的呼叫時間
trace com.test.MyClass query
# 檢視方法完整的呼叫鏈
stack com.test.MyClass query
# 記錄呼叫現場
tt -t com.test.MyClass query

引數檢查

-Xms 初始堆大小
-Xmx 最大堆大小
-Xmn 新生代大小
XX:MaxMetaSpaceSize 後設資料區大小
Survivor Eden與Survivor區的大小比值

以上就是直播平臺搭建,Java 記憶體溢位的排查方法, 更多內容歡迎關注之後的文章


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69978258/viewspace-3000363/,如需轉載,請註明出處,否則將追究法律責任。

相關文章