我的Eclipse由于內(nèi)存溢出而自動(dòng)退出。我的Eclipse配置文件: -showsplash org.eclipse.platform --launcher.XXMaxPermSize -XX:MaxPermSize=256M -XX:PermSize=256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m 我擴(kuò)大了MaxPermSize到1024M: -showsplash org.eclipse.platform --launcher.XXMaxPermSize -XX:MaxPermSize=1024M -XX:PermSize=1024M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m 仍然報(bào)內(nèi)存溢出的錯(cuò)誤。好像修改的沒有起作用。查了資料發(fā)現(xiàn)只有-vmargs下面的參數(shù)才會(huì)對(duì)JVM起作用。然后我在-vmargs下面設(shè)置MaxPermSize。 -showsplash org.eclipse.platform --launcher.XXMaxPermSize -XX:MaxPermSize=256M -XX:PermSize=256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M 現(xiàn)在Eclipse啟動(dòng)報(bào)錯(cuò):‘JVM terminated. Exit code=-1’. 把-Xmx512m 改為-Xmx256m, -showsplash org.eclipse.platform --launcher.XXMaxPermSize -XX:MaxPermSize=256M -XX:PermSize=256M -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms40m -Xmx256m -XX:PermSize=128M -XX:MaxPermSize=256M Eclipse可以正常啟動(dòng),也沒有內(nèi)存溢出的錯(cuò)誤。我測(cè)試了一下,如果把-Xmx設(shè)置為444, 能正常啟動(dòng),如果大于444,就起不起來了。 原因參考http://blog.csdn.net/liuzhenwen/archive/2008/12/21/3572727.aspx。 為什么有的機(jī)器將-Xmx和-XX:MaxPermSize都設(shè)置為512M之后Eclipse可以啟動(dòng),而有些機(jī)器無法啟動(dòng)? JVM內(nèi)存包含兩種:堆內(nèi)存和非堆內(nèi)存,另外JVM最大內(nèi)存首先取決于實(shí)際的物理內(nèi)存和操作系統(tǒng)。所以說設(shè)置VM參數(shù)導(dǎo)致程序無法啟動(dòng)主要有以下幾種原因:
|
|