2 回答

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

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