2 回答

TA貢獻1942條經驗 獲得超3個贊
eclipse的jvm設置方法如下:
默認方式啟動Eclipse時,有關啟動時JVM參數是在Eclipse安裝目錄下的eclipse.ini文件中指定的.在命令行下,也可以通過參數-vmargs來達到此目的.其命令格式為:eclipse -vmargs <JVM參數設置>.舉例來說,命令eclipse -vmargs -Xmx512M用來設置Eclipse啟動時JVM的最大堆內存(heap memory)
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
堆內存分配
JVM初始分配的內存由-Xms指定,默認是物理內存的1/64;JVM最大分配的內存由-Xmx指定,默認是物理內存的1/4.默認空余堆內存小于40%時,JVM就會增大堆直到-Xmx的最大限制;空余堆內存大于70%時,JVM會減少堆直到 -Xms的最小限制.因此服務器一般設置-Xms、-Xmx相等以避免在每次GC 后調整堆的大小.
非堆內存分配
JVM使用-XX:PermSize設置非堆內存初始值,默認是物理內存的1/64;由XX:MaxPermSize設置最大非堆內存的大小,默認是物理內存的1/4.

TA貢獻1873條經驗 獲得超9個贊
eclipse有啟動參數里設置jvm大小,因為eclipse運行時自己也需要jvm,所以eclipse.ini里設置的jvm大小不是具體某個程序運行時所用jvm的大小,這和具體程序運行的jvm大小無關。
那么怎么才能設置某個程序的jvm大小呢(當然控制臺運行的話不會存在這個問題,如:java -Xms256m -Xmx1024m classname,這樣就可以把當前程序的jvm大小給設定)?
因為eclipse里默認的一個程序的jvm配置為:-Xms8m -Xmx128m,所以我們的處理耗內存比較大時需要手動調整一下,以便不會內存溢出。具體的設置方法為:
選中被運行的類,點擊菜單‘Run->RunConfigurations...’,選擇(x)=Argument標簽頁下的vm arguments框里輸入-Xmx512m, 保存運行就ok了.
我經常處理大的浮點矩陣,所以我用的是 -Xmx1024m。
- 2 回答
- 0 關注
- 915 瀏覽
添加回答
舉報