`
wxlgzxx_1988
  • 浏览: 66306 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

eclipse优化

阅读更多

在jvm学习中一点点学习了eclipse的优化.目录下有一个计算eclipse启动时间的插件,只要放到eclipse的plugin目录下就可以.
1 首先,java版本的升级可以带来性能的免费提升.比如从jdk5升级到jdk6.通过eclipse.ini中的-vm参数 ,修改了JVM路径,使用了jdk1.6 update21.但是报了一个out of memery..具体的原因是:永久代溢出.hotspot默认的永久代是64M,但是很明显eclipse这种大的工具来说64M的永久代根本不够.但是在使用jdk1.5的时候却不会出现内存溢出,原因在于,eclipse.ini中存在一个--launcher.XXMaxPermSize  256M 参数.当eclipse.exe运行在sun公司的虚拟机上的时候,就会自动把-XX:MaxPermSize=256m传入到jvm运行参数中,所以不会有溢出问题.但是问题在于,JDK1.6 Update21以后java.exe等命令的Company属性从 Sun变成了Oracle.eclipse就不识别这个参数,所以也不会把-XX:MaxPermSize=256m参数带过去,所以造成了永久代内存溢出的问题.
   经测试,这个问题在eclipse3.6中已经解决.
2 经过测试jdk6对于eclipse的字节码验证比jdk5多了将近4s(这个具体的讨论可以见 www.iteye.com/topic/826542).考虑到eclipse还是比较靠谱的,所以我们可以去除字节码验证.添加 -Xverify:none
3 第三个调节的地方在于,尽量减少GC的次数.eclipse启动的full gc主要的原因在于 老年代和永久代的扩容.所以针对这个方面,可以固定老年代和永久代的内存大小..做法是 -Xms512m -Xmx512m -XX:PermSize=96m -XX:MaxPermSize=96m
  由于我本机eclipse刚装,启动时间差不多是4.6s的样子.所以我个人设置这两个值效果并不是很明显(大概提升了0.1s).个人建议还是升级到96m的样子,因为根据我的这边看到的数字,永久代大小(permsize)大概是55m的样子.系统默认的最小值是64m.估计随便装几个插件或者工程就会造成扩容(注意eclipse.ini里面定义了,最大的permsize是256m)
  还有一个地方在于,eclipse在启动的时候代码中显式的调用了几次gc(也就是显式的System.gc();).这样也会额外的增加gc的次数.所以,我们可以强制关闭显式gc.所以带上参数 -XX:+DisableExplicitGC
  除了启动的时候,我们在使用eclipse编写代码的时候,我们也可以做一些优化来减少full gc的次数.因为一次full gc基本都要超过1s的,修改系统默认老年代gc频率,系统默认是老年代中内存占68%就进行一次full gc.我们可以增加.-XX:CMSInitiatingOccupancyFraction=85 这样就改成85%才full gc
4 优化代码编译.代码编译是一个非常耗时的任务.查看VisualVM 的参数看到,在全工程编译的时候其实CPU的占用并不高,这点可以利用,我们可以一边编译一边干其他事,对于这个应用来说,CMS收集器是最合适的.所以强制指定eclipse的垃圾收集器为CMS.-XX:+UseParNewGC -XX:+UseConcMarkSweepGC  注意,如果CPU不高的话,可以不考虑这个优化

最后总结一下
--设置最大的堆和最小堆大小.两者一样表示固定大小.这样可以防止老年代内存扩展造成额外的gc.当然也会多占一些内存.系统内存不足的慎用
-Xms512m
-Xmx512m
--加大年轻代内存.减少minor gc
-Xmn164m
--这个是永久代大小.默认是64M,增加到96M.固定大小,减少扩展造成的gc
-XX:PermSize=96m
-XX:MaxPermSize=96m
--去除字节码验证
-Xverify:none
--屏蔽显示调用gc.
-XX:+DisableExplicitGC
--关闭类垃圾回收,就可以消除由于多次装入和卸装同一个类而造成的开销
-Xnoclassgc
--指定最适合多任务并行的CMS垃圾收集器
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
--修改默认的触发老年代full gc的内存所占比..改成85%
-XX:CMSInitiatingOccupancyFraction=85

分享到:
评论
1 楼 cmjcmj8080 2012-01-31  

相关推荐

    Eclipse优化配置(自动)

    本人多年的eclipse优化配置项,eclipse或者myeclipse导入pro...参数文件,就可使用,有保护眼睛的背景色,有修改好的代码补全,还有自定义的代码注释(需要修改)等等方便快捷的设定,等待你的发现LOL....

    Eclipse 优化

    Eclipse 优化:常用配置优化,启动项、注释、文本编辑器等

    eclipse优化.txt

    这是我日常总结的 eclipse优化文本,今天呢,我分享给大家。关闭自动构建。在启用时,每保存一下,eclipse就会自动为我们构建整个项目

    Eclipse优化设置教程.docx

    Eclipse优化设置教程.docx

    Eclipse优化设置导入导出插件及源码

    Eclipse优化设置导入导出插件及源码 由本人自己研发,下载之后解压,在解压目录下,是源码包和jar格式的插件,将***.jar文件插件直接放入Eclipse或是MyEclipse安装目录下的dropins插件文件夹,重启Eclipse即可看到...

    Android-Studio和eclipse优化.pdf

    Android-Studio和eclipse优化.pdf

    eclipse配置优化

    简单的eclipse配置优化,有效提高eclipse的开启速度和运行速度

    eclipse优化_直接导入_经验总结

    自己总结的,觉着方便的朋友你也可以制作一个这样的.settings.zip,当新装eclipse或旧eclipse配置太混乱时,清空上述.settings目录,把此文件解压至就好了。

    Eclipse的优化

    MyEclipse 6.0.1,Eclipse的优化,提示; MyEclipse 6.0.1界面,“File”→“Import”,在弹出的窗口中选择“Perferences”,点击 “下一步”,选择刚在已经修改的“test.epf”文件,点击“打开”,点击“Finish”。...

    eclipse 优化

    1、windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右侧 Text file encoding...其他java应用开发相关的文件 如:properties、XML等已经由Eclipse缺省指定,分别为ISO8859-1,UTF-

    java虚拟机调优大师--关于JVM项目程序调优代表性的实例,eclipse优化

    实战:Eclipse运行速度调优。案例分析。高性能硬件上的程序部署策略

    eclipse中常用配置

    本文讲解了eclipse中常用配置,对初学eclipse的帮助很大啊

    Eclipse启动优化

    Eclipse启动优化

    eclipse内存优化

    优化eclipse内存,可以有效防止其内存溢出.

    eclipse性能优化

    eclipse在导入一些重量级框架时会出现严重卡顿现象,影响开发进度和效率,此文档从eclipse性能优化角度有效解决了此问题。

    Eclipse的内存优化与内存不足问题.pdf

    Eclipse的内存优化与内存不足问题 解决内存溢出的办法

    eclipse的优化包

    eclipse类搜索优化包 用点或者ALT+/没那么卡

    Optimizer for Eclipse

    在2015年EclipseCon上,Zero Turnaround(消除Java重新部署的流行工具JRebel的创建者)发布了Eclipse优化器,一个可以通过调整JVM设置提升性能的自助向导用户界面。从Eclipse Marketplace下载安装后,Eclipse优化器...

Global site tag (gtag.js) - Google Analytics