您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“eclipse如何修改jvm參數”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“eclipse如何修改jvm參數”這篇文章吧。
具體如下:
一般在不對eclipse進行相關設置的時候,使用eclipse總是會覺得啟動好慢,用起來好卡,其實只要對eclipse的相關參數進行一些配置,就會有很大的改善。
有兩種方法:
1、打開eclipse配置文件eclipse.ini,更改把-Xmx(其數值代表jvm可以使用的最大內存數)
2. 運行java程序時,選擇run->run configuration->arguments,輸入-Xms100M -Xmx800M(-Xms代表jvm啟動時分配的內存大小,-Xmx代表可最大分配多少內存)。
今天在eclipse 中測試把文檔轉換為圖片的時候,報出了下面的錯誤:
java.lang.OutOfMemoryError: Java heap space
從上邊的異常信息可以看到,JVM 需要使用的內存已經超過了我們分配給虛擬機可以使用的最大內存。所以問題就轉化為如何設置eclipse 中jvm 的最大內存。
一、嘗試修改Eclipse.ini 文件 (此方法不行)
找到eclipse 目錄下的eclipse.ini 文件,修改下面的內容:
-Xms40m -Xmx512m
修改后重啟eclipse ,發現根本不起作用。經過后來查閱一些資料,原來這里設置的最小內存和最大內存是不是給JVM 使用的,這個內存值包含了eclipse 自身使用的內存。
二、修改jdk 使用內存(此方法可行)
找到eclispe 中window->preferences->Java->Installed JRE ,點擊右側的Edit 按鈕,在編輯界面中的 “Default VM Arguments ”選項中,填入如下值即可。
-Xms64m -Xmx128m
三、修改Run Configurations (此方法可行)
在代碼上右鍵,依次點擊“Run As ”-> “Run Configurations ”,在Arguments 參數中的“VM arguments:”中填入如下值即可。
-Xms64m -Xmx128m
主要通過以下的幾個jvm參數來設置堆內存的:
-Xmx512m | 最大總堆內存,一般設置為物理內存的1/4 |
-Xms512m | 初始總堆內存,一般將它設置的和最大堆內存一樣大,這樣就不需要根據當前堆使用情況而調整堆的大小了 |
-Xmn192m | 年輕帶堆內存,sun官方推薦為整個堆的3/8 |
堆內存的組成 | 總堆內存 = 年輕帶堆內存 + 年老帶堆內存 + 持久帶堆內存 |
年輕帶堆內存 | 對象剛創建出來時放在這里 |
年老帶堆內存 | 對象在被真正會回收之前會先放在這里 |
持久帶堆內存 | class文件,元數據等放在這里 |
-XX:PermSize=128m | 持久帶堆的初始大小 |
-XX:MaxPermSize=128m | 持久帶堆的最大大小,eclipse默認為256m。如果要編譯jdk這種,一定要把這個設的很大,因為它的類太多了。 |
四、查詢當前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)" ; } }
以上是“eclipse如何修改jvm參數”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。