0%

有關java之OutOfMemory檢測等相關問題文章整理

前文 :引言

有關java之OutOfMemory檢測等相關問題文章整理

關於JVM

一图解千愁,jvm内存从来没有这么简单过!

  • 該文建議使用操作系统的2/3作为堆空间,是比较合理的。这是一个经验值。比如6GB的内存,你分配给JVM的,最好不要超过4GB。

調整JVM

調整JVM參數說明

關於OutOfMemoryError追查

專案出現記憶體溢位的原因及解決方案
重點:

  1. 修改JVM啟動引數,直接增加記憶體。(-Xms,-Xmx引數一定不要忘記加。)
  2. 檢查錯誤日誌,檢視“OutOfMemory”錯誤前是否有其它異常或錯誤。
  3. 對程式碼進行走查和分析,找出可能發生記憶體溢位的位置。
  4. 使用記憶體檢視工具動態檢視記憶體使用情況
    1. Eclipse開啟Show Heap Status
    2. IntelliJ IDEA 可開啟Memory Indicator & debugger Memory頁籤
      (可參考下方檢測工具@IDEA標題)

程式面與錯誤訊息範例


檢測工具@IDEA

IntelliJ IDEA 可開啟Memory Indicator & debugger Memory頁籤
(可參考說明開啟:
show-heap-memory-size-in-intellij
Analyze objects in the JVM heap)


使用jvm監控工具命令

一般用於檢視服務執行時狀態的主要命令包括:jstat、jmap、top、jstack