2 回答

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊
eclipse的jvm設(shè)置方法如下:
默認(rèn)方式啟動(dòng)Eclipse時(shí),有關(guān)啟動(dòng)時(shí)JVM參數(shù)是在Eclipse安裝目錄下的eclipse.ini文件中指定的.在命令行下,也可以通過(guò)參數(shù)-vmargs來(lái)達(dá)到此目的.其命令格式為:eclipse -vmargs <JVM參數(shù)設(shè)置>.舉例來(lái)說(shuō),命令eclipse -vmargs -Xmx512M用來(lái)設(shè)置Eclipse啟動(dòng)時(shí)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%時(shí),JVM就會(huì)增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時(shí),JVM會(huì)減少堆直到 -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)驗(yàn) 獲得超9個(gè)贊
eclipse有啟動(dòng)參數(shù)里設(shè)置jvm大小,因?yàn)閑clipse運(yùn)行時(shí)自己也需要jvm,所以eclipse.ini里設(shè)置的jvm大小不是具體某個(gè)程序運(yùn)行時(shí)所用jvm的大小,這和具體程序運(yùn)行的jvm大小無(wú)關(guān)。
那么怎么才能設(shè)置某個(gè)程序的jvm大小呢(當(dāng)然控制臺(tái)運(yùn)行的話不會(huì)存在這個(gè)問(wèn)題,如:java -Xms256m -Xmx1024m classname,這樣就可以把當(dāng)前程序的jvm大小給設(shè)定)?
因?yàn)閑clipse里默認(rèn)的一個(gè)程序的jvm配置為:-Xms8m -Xmx128m,所以我們的處理耗內(nèi)存比較大時(shí)需要手動(dòng)調(diào)整一下,以便不會(huì)內(nèi)存溢出。具體的設(shè)置方法為:
選中被運(yùn)行的類,點(diǎn)擊菜單‘Run->RunConfigurations...’,選擇(x)=Argument標(biāo)簽頁(yè)下的vm arguments框里輸入-Xmx512m, 保存運(yùn)行就ok了.
我經(jīng)常處理大的浮點(diǎn)矩陣,所以我用的是 -Xmx1024m。
- 2 回答
- 0 關(guān)注
- 905 瀏覽
添加回答
舉報(bào)