我的Eclipse近几天运行时速度奇慢,具体表现为:

1、只要ECLIPSE启动后,硬盘灯就狂闪,不停的读盘;

2、发布TOMCAT经常在0%;

3、偶尔CPU占满;

网上讲优化的文章无数,但是总是有用的却很少,大部分是转载甚至是抄袭的。在借鉴各个文章的做法并不断尝试后,我的问题终于解决了。

1、启动参数的优化;

我的启动参数为:

-Xms976m -Xmx976m -XX:PermSize=128m -XX:MaxPermSize=128m -Xmn168m -XX:+DisableExplicitGC

其中XX:PermSize和XX:MaxPermSize是必须的,仅仅设置Xmx,经常出现ECLIPSE内存溢出的情况;

减少jvm内存回收引起的eclipse卡的问题 :
这个主要是jvm在client模式,进行内存回收时,会停下所有的其它工作,带回收完毕才去执行其它任务,在这期间eclipse就卡住了。所以适当的增加jvm申请的内存大小来减少其回收的次数甚至不回收,就会是卡的现象有明显改善。 
主要通过以下的几个jvm参数来设置堆内存的:

-Xmx512m 最大总堆内存,一般设置为物理内存的1/4
-Xms512m 初始总堆内存,一般将它设置的和最大堆内存一样大,这样就不需要根据当前堆使用情况而调整堆的大小了
-Xmn192m 年轻带堆内存,sun官方推荐为整个堆的3/8
堆内存的组成 总堆内存 = 年轻带堆内存 + 年老带堆内存 + 持久带堆内存
年轻带堆内存 对象刚创建出来时放在这里
年老带堆内存 对象在被真正会回收之前会先放在这里
持久带堆内存 class文件,元数据等放在这里
-XX:PermSize=128m 持久带堆的初始大小
-XX:MaxPermSize=128m 持久带堆的最大大小,eclipse默认为256m。如果要编译jdk这种,一定要把这个设的很大,因为它的类太多了。
比如,下图(这个的内存为4G):

2、启动插件优化:

windows - preference- general - startup and shutdown 里,只保留第1、3、4,其他全部取消,保留的为:

Usage DAta Gathering Plug-in。

Equinox Provisioning Platform Automatic Updata Support。

WTP Webservice UI Plug-in。

如图:

4、关闭验证

windows - preference-Validation 全部取消,只保留Manual 列;

在工程上右键-Validation ,同样全部取消,只保留Manual列,如果需要检查代码是否有错,可以在代码文件上右键,手动验证。

如图:

5、清理工程文件

删除工作空间目录下.metadata\.plugins\org.eclipse.epp.usagedata.recording目录里的所有文件,主要要保留这个目录,只删除目录下文件即可

在经过以上操作后,我的Eclipse无论是启动还是发布或者是编译工程,速度都提升了不少,特别是启动。而且运行起来相对很流畅,闪退、假死和吃内存等一系列问题得到基本解决。

以上仅供参考大家参考,欢迎反馈问题和建议,谢谢。

更多深度优化请参考:http://chaoxz2005.blog.163.com/blog/static/15036542013411105519685/

Eclipse解决运行、启动缓慢问题思路的更多相关文章

  1. 解决logstash启动缓慢问题

    在部署logstash时,头几次启动时长还可以,最后高达半小时以上启动启动不了,上网查资料说,系统的“熵”过低,导致jruby启动缓慢.需要安装haveged.但是我安装完后还是慢 https://h ...

  2. 解决weblogic启动缓慢 linux系统随机数问题

    这是SUN,JDK一个bug解决办法是在weblogic启动脚本里setDomainEnv.sh: 加入以下内容 JAVA_OPTIONS="${JAVA_OPTIONS} -Djava.s ...

  3. [原创]消灭eclipse中运行启动的错误:“找不到或无法加载主类”问题

    最近一直遇到这个问题且根据网上的文章做法基本无法通过,故将自己的解决步骤记录及分享给大家. 一:环境必须要配置好. 试试在dos界面输入:java.javac 分别这两个命令是否能执行,如果都能执行恭 ...

  4. 启动 Eclipse 弹出“Failed to load the JNI shared library jvm.dll”错误的解决方法!&&在eclipse.ini中为eclipse指定jdk启动

    参考:http://blog.csdn.net/zyz511919766/article/details/7442633 http://blog.sina.com.cn/s/blog_028f0c1c ...

  5. 在Eclipse中运行Web项目Jsp网页时提示端口被占用的解决办法:Several ports (8005, 8888, 8009) required by Tomcat v9.0 Server at localhost are already in use.

    问题: 在Eclipse中运行Web项目Jsp网页启动Tomcat时提示端口被占用: Several ports (8005, 8080, 8009) required by Tomcat v9.0 ...

  6. eclipse中运行出错:无法初始化主类的解决办法

    问题描述:eclipse中运行程序时,出现如下错误 解决办法: 出现此类:无法初始化主类有可能是因为eclipse中Java的版本与JDK的版本不匹配,我开始用的时候eclipse中用的是Java s ...

  7. 在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法

    在Eclipse中运行Jboss时出现java.lang.OutOfMemoryError:PermGen space及其解决方法 在Eclipse中运行Jboss时,时间太长可能有时候会出现java ...

  8. 解决:在Eclipse中运行monkeyrunner脚本报错: IOError: (2, 'File not found - D:\\workspace\\monkeyrunner_test01 (\u62d2\u7edd\u8bbf\u95ee\u3002)')

    在eclipse中搭建运行monkeyrunner脚本的环境,请见lynnLi的博客monkeyrunner之eclipse中运行monkeyrunner脚本之环境搭建(四) 但在实践中,状况确实层出 ...

  9. MyEclipse中的项目导入到Eclipse中运行的错误解决

    之前用的myEclipse,后来把项目导入eclipse发现报错,将MyEclipse中的项目导入到Eclipse中运行,不注意一些细节,会造成无法运行的后果.下面就说说具体操作:导入后出现如下错误: ...

随机推荐

  1. Express开发性能优化

    1.使用浏览器缓存 在app.js里添加 var CACHETIME = 60 * 1000 * 60 * 24 * 30; app.use(express.static(path.join(__di ...

  2. c#基础学习(0626)之占位符、转义符

    占位符 使用方法:先挖个坑,再填个坑. 使用占位符需要注意的地方: 1.你挖了几个坑,就应该填几个坑,如果填多了,没效果,如果填少了,出现异常 异常是指:语法上没有任何错误,只不过再运行的期间,由于某 ...

  3. Html dom 赋值

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  4. mybatis在oracle中的分页扩展

    applicationContext.xml <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlS ...

  5. Hibernate中NoSession问题

    今天在使用hibernate中 Note note = hibTem.load(Note.class, id); 报了一个could not initialize proxy [cn.entity.N ...

  6. [javaSE] 网络编程(UDP通信)

    UDP发送端 获取DatagramSocket对象,new出来 获取DatagramPacket对象,new出来,构造参数:byte[]数组,int长度,InetAddress对象,int端口 调用D ...

  7. 简单说说SpringMVC

    距离上一次开发SpringMVC项目已经过去了大半年,有些细节已经开始遗忘,今天复习一下 先从标签说起: 和struts有各种配置文件不同,spring用标签开发. 1.@Controller在Spr ...

  8. HwUI下载地址

    下载地址:HwUI.0.0.1.zip

  9. [h5+api]移动app开发用到的微信好友,朋友圈,qq好友,新浪微博分享合集

    适用H5+环境,能够使用plus方法的移动app中 /** * Created by HBuilder. * User: tyx * Date: 2018-11-21 * Time: 17:28:51 ...

  10. flask-login的使用3

    # coding=utf-8 import flask app = flask.Flask(__name__) app.secret_key = 'super secret string' impor ...