zoukankan      html  css  js  c++  java
  • 解决eclipse 保存卡顿的问题

    eclipse 如果启动慢,还可以接收。 可是如果是 保存的时候卡顿, 有时候会 卡顿 3秒-5 秒的,感觉到写代码特别的不顺畅,这怎么玩?

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

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

    可以参考网上 网友的 解决方案

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

    可是我试过了, 最多可以提高 eclipse 启动的速度,编译速度,可是保存还是会 卡顿的。

    很多方案都说只需要 在 eclipse.ini 的 配置 -Xms , -Xmx 即可。 我配置了 可是发现还是不行的。

    -Xms512m
    -Xmx2048m
    

    解决方案

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

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

    非堆内存分配
    

    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区域,它和存放InstanceHeap区域不同。
    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禁止掉字节码验证过程也可作为一
    项优化措施。 加

                                                    <div class="ad-wrap" style="margin-top: 12px;">
                                                        <div id="blog-title-ad" data-traceid="blog_ali" data-tracepid="blogdown" style="">
    

                                        </div>
                                            </div>
  • 相关阅读:
    jquery blockUI插件实现遮罩层
    ckeditor粘入word内容如何默认设置为保留样式
    抓紧时间把c学习一下
    4G时代的解释
    。。。。
    几个常用的VS快捷键
    清除html标记并截取前50个字符
    SQL Server 2005 sp2安装后导入数据出错的处理方法
    自己做的一道机试题
    敏捷合同摘自网络
  • 原文地址:https://www.cnblogs.com/jpfss/p/9922239.html
Copyright © 2011-2022 走看看