NetBeans IDE配置优化

一、JAVA VM client 配置
这里以《给NetBeans IDE 换衣服》一文的配置为例:

1
netbeans_default_options="-J-client -J-Xss2m -J-Xms256m -J-Xmx682m -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled -J-XX:PermSize=32m -J-XX:MaxPermSize=384m -J-Dapple.laf.useScreenMenuBar=true -J-Dapple.awt.graphics.UseQuartz=true -J-Dsun.java2d.noddraw=true -J-Dnimrodlf.themeFile=/opt/netbeans/bin/DarkGrey.theme -cp:p /opt/netbeans/bin/nimrodlf-1.2.jar --laf com.nilo.plaf.nimrod.NimRODLookAndFeel -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd --fontsize 12"

-J-Xss2m 每个线程的Stack大小,Stack的大小限制着线程的数量.如果Stack过大就会导致内存溢漏.-Xss参数决定Stack大小,如果Stack太小,也会导致Stack溢漏.

-J-Xms256m 初始堆大小,此设置用于通知 Java 虚拟机将其初始堆大小设置为256MB。通过通知 JVM 它最初应该为堆分配多少内存,我们可以防止它随着 IDE 使用更多的内存而将堆增大。
-J-Xmx682m 最大堆大小,此设置用于指定 Java 虚拟机应该用于堆的最大内存。对此数值设置硬性上限意味着 Java 进程不能使用比可用的物理 RAM 更多的内存。对于具有更多内存的系统可以提升此限制。注意:不要将此值设置为接近或大于系统中的物理 RAM 数,否则在主要回收过程中将导致频繁的交换空间操作。一般来说设置此值为本机物理内存的1/3 大小是比较合适的,这里我是2GB内存的机子。

-J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled
内存和垃圾收集机制配置,使用NetBeans的缺省配置,在长时间的运行后,往往会突然间僵住了,没有响应,这是因为JVM缺省的垃圾收集机制不使用增量式并行收集,而是隔断时间后,等内存垃圾积累到一定程度,完全锁定甚至暂停虚拟机,进行垃圾收集。可以将这种垃圾收集机制改成增量式并行收集,避免这种僵死。加上 -J-XX:+UseConcMarkSweepGC -J-XX:+CMSClassUnloadingEnabled -J-XX:+CMSPermGenSweepingEnabled 后能有效解决此类问题。

-XX:+UseConcMarkSweepGC:设置并发收集器

-XX:PermSize 设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4.
-J-XX:PermSize=32m 这是一个较特殊的 JVM 开关,但它也缩短了启动时间。此设置用于调整内存中“永久区域”(持久代)的大小。由于我们知道所有 IDE 类均占用特定数量的内存,因此我们向 JVM 提示它将需要的内存数量。此设置消除了许多系统上启动过程中的主要垃圾回收事件。

-J-XX:MaxPermSize=384m
Perm(俗称方法区)占整个堆内存的最大值。
个人觉得NetBeans缺省的工具栏按钮太大,可以右键点击工具栏,从下拉菜单中选择Small Toolbar Icons。

-J-Dswing.aatext=true 启用界面的反走样效果。
-J-Dawt.useSystemAAFontSettings=lcd 启用Lcd反走样效果。

-J-Dswing.useSystemFontSettings=false 禁用系统字体设置
字体锯齿问题,在Windows下需要明确打开操作系统的字体边缘平滑设置后,才起作用。LCD屏幕的电脑可以通过启用ClearType来美化字体效果。
–fontsize 12 设置NetBeans IDE 用户界面中的字体大小,以磅表示。如果未使用此选项,则字体大小为 11 磅。(编辑器的字体可以通过选项设置来实现)

–cp:p additional-classpath 将指定类路径置于 IDE 的类路径之前。

–cp:a additional-classpath 将指定类路径附加到 IDE 的类路径上。

–open file 在源代码编辑器中打开文件。
–open file:line number 在源代码编辑器中打开文件,并将光标置于指定行上。

–laf UI-class-name 选择给定的类作为 IDE 的外观。以下是两个外观类的示例:

com.sun.java.swing.plaf.motif.MotifLookAndFeel
javax.swing.plaf.metal.MetalLookAndFeel

–locale language[:country[:variant]] 激活指定的语言环境,如设定locale为英文:
–locale en:US (注意,这里不带-J)

也可以这样指定Locale : -J-Duser.language=en -J-Duser.region=US

-J-Duser.language=zh -J-Duser.region=CN //中文
-J-Duser.language=de -J-Duser.region=DE // 德语
-J-Duser.language=en -J-Duser.region=US // 英语
-J-Duser.language=fr -J-Duser.region=FR // 法语
-J-Duser.language=ru -J-Duser.region=RU // 俄语

尽管我这里下载的是中文版的NetBeans IDE,但是指定en-US的locale后,就变成英文版的了,发现中文版的好多翻译看了不知道在说什么,有些误导人,还是喜欢用英文版的。

–userdir userdir 明确指定用户目录,该目录是存储用户设置的位置。

-J-Dsun.java2d.noddraw=true 防止使用 DirectX 进行呈现。此开关可防止在某些带有不合格图形卡的 Microsoft Windows 系统上出现问题。

-J-Dorg.netbeans.spi.java.project.support.ui.packageView.USE_TREE_VIEW=true 以基于目录的视图(而不是基于包的视图)显示“项目”窗口中的包。

-J-Dfile.encoding=UTF-8 设定字符集为UTF-8
二、禁用不必要的模块
禁用没有使用的模块:Tools》Plugins》Installed
选择不用的模块,Deactivate。
我这里去掉了 Glashfish、JSF、CVS等。

三,其它优化,参见下面的参考链接。

本方参考:
NetBeans的优化配置

如何将Netbeans配置更加合理

转 java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结

Java 6 JVM参数选项大全(中文版)

几个有用的Swing系统属性

JVM调优总结(收藏)

更多
2 Responses Post a comment
  1. phoetry

    无灯大师也, 看着完全不懂...
    纯沙发 :!:

Leave a Reply

Note: You may use basic HTML in your comments. Your email address will not be published.

Subscribe to this comment feed via RSS