作者:peigen 来源:网易博客   酷勤网收集 2008-01-02

摘要
  使用NetBeans的缺省配置,在长时间的运行后,会突然间僵住了,没有响应,这是因为JVM缺省的垃圾收集机制不使用增量式并行收集,而是隔断时间后,等内存垃圾积累到一定程度,完全锁定甚至暂停虚拟机,进行垃圾收集。可以将这种垃圾收集机制改成增量式并行收集,避免僵死

NetBeans的缺省的内存配置偏低,只有128M,实际上Eclipse的缺省配置为256M,对于NetBeans这样拥有如此之多的功能,却才使用128M是不太合适的。曾经在别人的博客上看到,最佳的内存配置应该为物理内存的1/3,如果小于这个值,NetBeans就难以发挥全效,如果大于这个值就会造成操作系统内存抖动。就NetBeans5.5来说,官方网站上规定的最小内存是512M,推荐内存1G,这一点和其他Java IDE一样,比如Eclipse官方规定的最小内存居然是1G。这让我不得不叹息我们的电脑实在太落后了。我家里的工作机才256M,后来买了512M添上去,总共才768M,因此按照1/3原则,我把NetBeans设置为256M。如何设置这个值呢?同前文一样要设置启动文件 <NetBeans>/etc/netbeans.conf,打开启动文件,将netbeans_default_options一行中的-J-Xmx选项设置成256M就可以了,如下:

netbeans_default_options=="-J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true"


        使用NetBeans的缺省配置,在长时间的运行后,往往会突然间僵住了,没有响应,这是因为JVM缺省的垃圾收集机制不使用增量式并行收集,而是隔断时间后,等内存垃圾积累到一定程度,完全锁定甚至暂停虚拟机,进行垃圾收集。可以将这种垃圾收集机制改成增量式并行收集,避免这种僵死。同样是改动 netbeans_default_options,在行后加上:

netbeans_default_options=="-J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled"


        总的来说,如果你懒得想这些,采用下面的配置比较不错:


netbeans_default_options="-J-Xms32m -J-Xmx256m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -J-Xverify:none -J-Dapple.laf.useScreenMenuBar=true -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled --fontsize 12"

来自:http://blog.163.com/peigen_peigen/blog/

分类: 开发工具 管理工具 修炼之道



关于酷勤 | 联系方式 | 免责声明 | 友情链接