我最近了解到-XX:+HeapDumpOnOutOfMemoryError
VM參數,並被告知它應該被添加到HotSpot JVM中,因爲它默認是關閉的。我的一位同事發表評論說,也許我們不應該這樣做,因爲他聽說這樣做有一些缺陷,但他不記得它是什麼。我討厭那種含糊不清的言論,但在做出最終決定之前,我試圖做我的盡職調查,所以我正在做一些調查。熱點JVM選項HeapDumpOnOutOfMemoryError - 任何問題?
我能找到的大部分參考資料都是關於如何使用它(以及轉儲文件所在的位置)的更多信息,並且不會說與使用它有關的任何問題。這太問題指的是不同的說法,但答案似乎相關的這一個,以及和暗示,有沒有問題:Why is this Hotspot JVM option not the default? -XX:+PrintConcurrentLocks
有誰知道有什麼理由不把-XX:+HeapDumpOnOutOfMemoryError
?
我對你的評論感到困惑,它只對調試/開發有用。如果我們在生產系統中遇到OutOfMemory錯誤,我們是不是需要堆轉儲? – sdoca
只有當您有軟件開發人員的支持。並非所有的Java應用程序用戶都能夠分析堆轉儲,例如小程序用戶。 –
我們將在運行我們(我的團隊)編寫的企業軟件的JVM上啓用此功能。我們可以完全訪問我們的服務器,包括根據需要清理轉儲文件的能力。 – sdoca