解决eclipse 保存卡顿的问题

固然 卡顿,能有条件,尽可能增强电脑的配置了,好比 固态硬盘 和 加内存条java

 

eclipse 若是启动慢,还能够接收。 但是若是是 保存的时候卡顿, 有时候会 卡顿 3秒-5 秒的,感受到写代码特别的不畅,这怎么玩?web

个人eclipse就是 保存的时候卡顿。 其实项目也不大,就是文件多,目录结构多而已。服务器

另外一个项目, 使用 eclipse ,不须要配置什么的,保存一点都不卡顿。app

能够参考网上 网友的 解决方案eclipse

http://baijiahao.baidu.com/s?id=1563222228113375&wfr=spider&for=pcide

但是我试过了, 最多能够提升 eclipse 启动的速度,编译速度,但是保存仍是会 卡顿的。性能

不少方案都说只须要 在 eclipse.ini 的 配置 -Xms , -Xmx 便可。 我配置了 但是发现仍是不行的。优化

-Xms512m
-Xmx2048m

解决方案

恰好看了一下 《深刻理解JAVA虚拟机》里面有一个例子是 调优 eclipse卡的问题的。ui

加入了 -XX:MaxPermSize 发现解决了 这个问题, 若是不加入 发现保存就卡了。 书上说是 默认的 MaxPermSize 过小了或者是 该eclipse 不认识 MaxPermSize ,忽略掉了 加上去便可。spa

非堆内存分配


 JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。(还有一说:MaxPermSize缺省值和-server -client选项相关,
 -server选项下默认MaxPermSize为64m,-client选项下默认MaxPermSize为32m。这个我没有实验。)
 上面错误信息中的PermGen space的全称是Permanent Generation space,是指内存的永久保存区域。尚未弄明白PermGen space是属于非堆内存,仍是就是非堆内存,但至少是属于了。
XX:MaxPermSize设置太小会致使java.lang.OutOfMemoryError: PermGen space 就是内存益出。 
说说为何会内存益出: 
(1)这一部份内存用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不一样。 
(2)GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,因此若是你的APP会LOAD不少CLASS 的话,就极可能出现PermGen space错误。
  这种错误常见在web服务器对JSP进行pre compile的时候。
设置永久代最大容量
-XX:MaxPermSize=768M

下面是个人 eclipse.ini 配置文件,你们尽可能使用 新版本 jdk 和 eclipse了

-startup
plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.500.v20170531-1133
-product
org.eclipse.epp.package.jee.product
-showsplash
org.eclipse.epp.package.common
--launcher.defaultAction
openFile
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Dosgi.instance.area.default=@user.home/eclipse-workspace
-XX:+UseG1GC
-XX:+UseStringDeduplication
-Dosgi.requiredJavaVersion=1.8
-Xms512m
-Xmx2048m
-XX:MaxPermSize=768M

或者 按照 上说的

 

-Xms2048m
-Xmx2048m
-XX:PermSize=1024M
-XX:MaxPermSize=1024M
-Xverify:none

由上述分析能够得出结论: Eclipse启动时,
Full GC大多数是因为老年代容量扩展而致使的,
由永久代空间扩展而致使的也有一部分。 为了避
免这些扩展所带来的性能浪费, 咱们能够把-Xms
和-XX: PermSize参数值设置为-Xmx和-XX:
MaxPermSize参数值同样, 这样就强制虚拟机在
启动的时候就把老年代和永久代的容量固定下
来, 避免运行时自动扩展。

Eclipse使用者甚多, 它的
编译代码咱们能够认为是可靠的, 不须要在加载
的时候再进行字节码验证, 所以经过参数-
Xverify: none禁止掉字节码验证过程也可做为一
项优化措施。 加

 

 

固然了 在设置上面以前请确保您的项目,设置了忽略 校验的设置,和 忽略 编译校验的 设置

。这两个设置比设置 eclipse的ini 配置文件还要重要。 

设置方式  右键项目-- propertise -- builder  配置和 validate 配置

 

好比个人

 

 

 

若是 是在没办法,保存卡顿,其实主要是保存的时候 会编译项目 ,卡住了。

那么咱们就能够关掉 自动编译 功能

关掉方法:   project   -->  Build Automatically 

相关文章
相关标签/搜索