Eclipse 中設置JVM 內存(轉)

今天在eclipse 中測試把文檔轉換爲圖片的時候,報出了下面的錯誤:java

java.lang.OutOfMemoryError: Java heap spaceeclipse


從上邊的異常信息能夠看到,JVM 須要使用的內存已經超過了咱們分配給虛擬機能夠使用的最大內存。因此問題就轉化爲如何設置eclipse 中jvm 的最大內存。jvm

1、    嘗試修改Eclipse.ini 文件 (此方法不行)測試

找到eclipse 目錄下的eclipse.ini 文件,修改下面的內容:spa

-Xms40m.net

-Xmx512morm

修改後重啓eclipse ,發現根本不起做用。通過後來查閱一些資料,原來這裏設置的最小內存和最大內存是否是給JVM 使用的,這個內存值包含了eclipse 自身使用的內存。圖片

2、    修改jdk 使用內存(此方法可行)ip

找到eclispe 中window->preferences->Java->Installed JRE ,點擊右側的Edit 按鈕,在編輯界面中的 「Default VM Arguments 」選項中,填入以下值便可。內存

-Xms64m -Xmx128m

3、    修改Run Configurations (此方法可行)

代碼上右鍵,依次點擊「Run As 」-> 「Run Configurations 」,在Arguments 參數中的「VM arguments: 」中填入以下值便可。

-Xms64m -Xmx128m

4、    查詢當前JVM 內存代碼

下面是查詢當前JVM 內存大小的代碼,能夠測試以上設置後JVM 的內存是否會變化。增長JVM 內存的配置項後,無需從新啓動eclipse 。具體的代碼以下:


public class TestMemory {

 

    /**

      * @param  args

      */

    public static void main(String[] args) {

       System. out .println( " 內存信息 :" toMemoryInfo());

    }

 

    /**

      * 獲取當前 jvm 的內存信息

      *

      * @return

      */

    public static String toMemoryInfo() {

 

       Runtime currRuntime = Runtime.getRuntime ();

       int nFreeMemory = ( int ) (currRuntime.freeMemory() / 1024 / 1024);

       int nTotalMemory = ( int ) (currRuntime.totalMemory() / 1024 / 1024);

       return nFreeMemory + "M/" + nTotalMemory +"M(free/total)" ;

    }

}

相關文章
相關標籤/搜索