Eclipse 的空間大小夠用嗎
Eclipse 的空間大小是否夠用,這得看具體情況。
對(duì)于小型項(xiàng)目,它的初始配置可能夠用,但隨著項(xiàng)目規(guī)模增大,可能就不夠了。
如果您發(fā)現(xiàn)內(nèi)存不足,以下是一些解決方案。
一是在 Eclipse 目錄下建個(gè)批處理文件 eclipse.bat,寫(xiě)入類似這樣的內(nèi)容:eclipse.exe -vmargs -Xms128m -Xmx512m -XX:PermSize=128m -XX:PermSize=256m ,然后保存,以后運(yùn)行就執(zhí)行這個(gè)批處理。
二是在 eclipse.ini 中進(jìn)行配置,要注意參數(shù)形如“項(xiàng) 值”形式,中間有空格需換行書(shū)寫(xiě),值中有空格要用雙引號(hào)括起來(lái)。
三是在桌面建快捷方式,右擊目標(biāo)后面加上 -vmargs -Xms128M -Xmx256M -XX:PermSize=64M -XX:MaxPermSize=256M 。
一般來(lái)說(shuō),對(duì)于小型項(xiàng)目,可將 -Xmx 參數(shù)設(shè)為 512M 或 1G;中等規(guī)模項(xiàng)目設(shè)為 2G 或 4G;大型項(xiàng)目可能要設(shè)為 8G 甚至更大。同時(shí),要把 -Xms 參數(shù)設(shè)為與 -Xmx 相同的值。
還要注意,PermGen space 用于存放 Class 和 Meta 信息,GC 不會(huì)在主程序運(yùn)行期對(duì)其清理,所以如果 APP 加載很多 CLASS 可能出現(xiàn)錯(cuò)誤,此時(shí)要手動(dòng)設(shè)置 MaxPermSize 大小。
另外,非堆內(nèi)存初始值用 -XX:PermSize 設(shè)置,默認(rèn)是物理內(nèi)存的 1/64,最大非堆內(nèi)存用 XX:MaxPermSize 設(shè)置,默認(rèn)是物理內(nèi)存的 1/4。
而 JVM 初始分配的堆內(nèi)存由 -Xms 指定,默認(rèn)是物理內(nèi)存的 1/64;最大分配的堆內(nèi)存由 -Xmx 指定,默認(rèn)是物理內(nèi)存的 1/4。
如果您的機(jī)器無(wú)法啟動(dòng),可能是 -Xms 值大于 -Xmx,或者 -XX:PermSize 值大于 -XX:MaxPermSize,也可能是 -Xmx 和 -XX:MaxPermSize 總和超過(guò)了 JVM 內(nèi)存的最大限制。
如果參數(shù)寫(xiě)入 eclipse.ini 文件沒(méi)生效,那可能是沒(méi)遵守其設(shè)置規(guī)則。
如果您有雙核 CPU,還可以嘗試 -XX:+UseParallelGC 參數(shù),讓 GC 更快執(zhí)行。