1. 程式人生 > >堆溢位處理

堆溢位處理

在java程式執行過程中,如果堆空間不足,則有可能丟擲記憶體溢位錯誤,java虛擬機器提供引數 -XX:+HeapDumpOnOutOfMemoryError 使用該引數可以在記憶體溢位時,匯出整個堆資訊,可以和XX:HeapDumpPath配合使用,可以指定匯出堆存放的路徑。

-Xmx20m -Xms5m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=d:/a.dump 執行對應java程式碼。

可以通過MAT工具開啟該檔案進行分析。

發生OOM時匯出執行緒轉存的例子。準備printStack.bat

D:/jdk/bin/jstack -F %1 > D:/stack.txt。