有關JVM永生代內存溢出的一個解決方案

1. 錯誤提出

1.今天在跑Oracle查詢時,控制檯窗口輸出瞭如下的信息:

java.lang.OutOfMemoryError: PermGen space

2. 解決方案

由於 JDK 自帶的虛擬機爲 HotSpot,且其支持內存區域的動態擴展,因此可以通過設置虛擬機參數來擴展方法區的內存大小。例如,進入Run/Debug Configuration頁面,修改虛擬機參數爲:

-Xms1024M -Xmx2048M -XX:PermSize=128M -XX:MaxPermSize=256m -XX:+HeapDumpOnOutOfMemoryError

使用的時普元的EOS開發環境

其中,各個參數的含義爲:

-Xms,表示程序啓動時,JVM 堆的初始化最小尺寸參數;
-Xmx,表示程序啓動時,JVM 堆的初始化最大尺寸參數;
-XX:PermSize,表示程序啓動時,JVM 方法區的初始化最小尺寸參數;
-XX:MaxPermSize,表示程序啓動時,JVM 方法區的初始化最大尺寸參數。
-XX:+HeapDumpOnOutOfMemoryError可以讓JVM在出現內存溢出時候Dump出當前的內存轉儲快照。

鏈接地址:
https://blog.csdn.net/xiaoliuliu2050/article/details/51226282

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章