个人Eclipse近几天运行时速度奇慢,具体表现为:windows
一、只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘;eclipse
二、发布TOMCAT常常在0%;jvm
三、偶尔CPU占满;优化
网上讲优化的文章无数,可是老是有用的却不多,大部分是转载甚至是抄袭的。在借鉴各个文章的作法并不断尝试后,个人问题终于解决了。ui
一、启动参数的优化;插件
个人启动参数为:orm
-Xms976m -Xmx976m -XX:PermSize=128m -XX:MaxPermSize=128m -Xmn168m -XX:+DisableExplicitGC对象
其中XX:PermSize和XX:MaxPermSize是必须的,仅仅设置Xmx,常常出现ECLIPSE内存溢出的状况;blog
减小jvm内存回收引发的eclipse卡的问题 :
这个主要是jvm在client模式,进行内存回收时,会停下全部的其它工做,带回收完毕才去执行其它任务,在这期间eclipse就卡住了。因此适当的增长jvm申请的内存大小来减小其回收的次数甚至不回收,就会是卡的现象有明显改善。
主要经过如下的几个jvm参数来设置堆内存的: ip
-Xmx512m | 最大总堆内存,通常设置为物理内存的1/4 |
-Xms512m | 初始总堆内存,通常将它设置的和最大堆内存同样大,这样就不须要根据当前堆使用状况而调整堆的大小了 |
-Xmn192m | 年轻带堆内存,sun官方推荐为整个堆的3/8 |
堆内存的组成 | 总堆内存 = 年轻带堆内存 + 年老带堆内存 + 持久带堆内存 |
年轻带堆内存 | 对象刚建立出来时放在这里 |
年老带堆内存 | 对象在被真正会回收以前会先放在这里 |
持久带堆内存 | class文件,元数据等放在这里 |
-XX:PermSize=128m | 持久带堆的初始大小 |
-XX:MaxPermSize=128m | 持久带堆的最大大小,eclipse默认为256m。若是要编译jdk这种,必定要把这个设的很大,由于它的类太多了。 |
二、启动插件优化:
windows - preference- general - startup and shutdown 里,只保留第一、三、4,其余所有取消,保留的为:
Usage DAta Gathering Plug-in。
Equinox Provisioning Platform Automatic Updata Support。
WTP Webservice UI Plug-in。
如图:
四、关闭验证
windows - preference-Validation 所有取消,只保留Manual 列;
在工程上右键-Validation ,一样所有取消,只保留Manual列,若是须要检查代码是否有错,能够在代码文件上右键,手动验证。
如图:
五、清理工程文件
删除工做空间目录下.metadata\.plugins\org.eclipse.epp.usagedata.recording目录里的全部文件,主要要保留这个目录,只删除目录下文件便可
在通过以上操做后,个人Eclipse不管是启动仍是发布或者是编译工程,速度都提高了很多,特别是启动。并且运行起来相对很流畅,闪退、假死和吃内存等一系列问题获得基本解决。
以上仅供参考你们参考,欢迎反馈问题和建议,谢谢。
更多深度优化请参考:http://chaoxz2005.blog.163.com/blog/static/15036542013411105519685/