解决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区域,它和存放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禁止掉字节码验证过程也可作为一
项优化措施。 加
<div class="ad-wrap" style="margin-top: 12px;">
<div id="blog-title-ad" data-traceid="blog_ali" data-tracepid="blogdown" style="">

</div>
</div>
解决eclipse 保存卡顿的问题的更多相关文章
- 彻底解决 Intellij IDEA 卡顿 优化笔记,重要的快捷键
由于工作中经常出现分支各种切换,使用Eclipse便不再像以前那么舒服了,不停的修改工作空间,每次修改完工作空间又是一堆一堆的个性化设置,来回的切换,真的很累.我们做软件的,怎么能不去尝试新鲜的呢,毕 ...
- 彻底解决 intellij IDEA 卡顿 优化笔记
由于工作中经常出现分支各种切换,使用Eclipse便不再像以前那么舒服了,不停的修改工作空间,每次修改完工作空间又是一堆一堆的个性化设置,来回的切换,真的很累.我们做软件的,怎么能不去尝试新鲜的呢,毕 ...
- 关于Java中Eclipse运行卡顿、未响应,Cpu100%的快速处理办法
1.与近几日我以及我的同事们遇到一件非常奇怪的问题,我们目前在实现一个小程序,但是不知为何,Eclipse突然变得很卡,以为是小问题最后闹到重启都没解决,于是 我开始查找造成这个现象的原因,发现这个程 ...
- 解决XMind运行卡顿
问题 XMind是一款很好用的脑图工具,它是基于eclipse开发的,而且基础功能是免费的.最近我安装了XMind 8 Pro,但是发现在Mac上运行有卡顿. 解决方式 解决这个问题的思路也很简单,软 ...
- 【C++】解决vs2015经常卡顿的办法
VS2015经常性的卡顿,参考了zhihu里问答的办法,编译和使用的时候的确快多了 为什么vs2015经常卡顿? https://www.zhihu.com/question/34911426 感谢z ...
- Latex 3: 解决LaTeX编译卡顿问题
1.问题: 最近在编译latex时,老是在tulmr.fd处编译很久,但是以前不这样啊,那肯定就是我最近做了什么导致这样的了,是什么呢? 2.解决: 后来google下发现了解决办法,原来是我新安装了 ...
- android问题及其解决-优化listView卡顿和怎样禁用ListView的fling
问题解决-优化listView卡顿和怎样禁用ListView的fling 前戏非常长,转载请保留出处:http://blog.csdn.net/u012123160/article/details/4 ...
- 解决xadmin登录卡顿延迟的问题
我的django项目引入xadmin作为后台,之前登录一直很快,今天突然怎么也登录不了. 怀疑是xadmin请求了网络资源,当我断网再次登录,果然进去了. 然后在xadmin文件夹右键-find in ...
- 解决PHPStorm经常卡顿现象 调整内存限制
https://www.jisec.com/other/451.html 为什么调整内存? 最近发现PHPstorm在打开一些大点的js, html文件时,会非常的卡顿,这个主要的原因是因为设置的内存 ...
随机推荐
- linux下pthread_cancel无法取消线程的原因
一个线程能够调用pthread_cancel终止同一进程中的还有一个线程,可是值得强调的是:同一进程的线程间,pthread_cancel向还有一线程发终止信号.系统并不会立即关闭被取消线程,仅仅有在 ...
- WP8日历(含农历)APP
WP8日历(含农历)APP WP8日历(含农历)APP UI XAML(部分) <phone:PhoneApplicationPage xmlns:CustomControl="clr ...
- winform中comboBox控件加默认选项的问题
winform程序设计中,label,TextBox,ComboBox等几个控件几乎是用得最多的,在设计中经常会遇到一些小问题,如:comboBox控件绑定了数据源之后,如何设置默认值? combob ...
- 1.3 Python基础知识 - 用户交互及传递参数
一.用户交互 用户交互方面,每种开发语言都有不同的方式,例如shell语言用的是,“read -p "What is your name ? " ”.python中是什么样子的呢 ...
- RMAN-03002、RMAN-06059
使用RMAN备份的时候无法正常备份,抛出以下错误: RMAN-03002: failure of backup command at 04/20/2015 18:55:45 RMAN-06059: e ...
- 格式化时间的一个好方法(补充moment)
/** * * 格式化时间 * @param {*} time * @param {*} fmt * @returns * time(new Date(), 'yyyy/MM/dd') ==> ...
- 5.容器管理【Docker每天5分钟】
原文:5.容器管理[Docker每天5分钟] Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制.该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的 ...
- GO语言学习(五)Go 语言基础语法
Go 标记 Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号.如以下 GO 语句由 6 个标记组成: fmt.Println("Hello, World!") ...
- 动态规划求解序列问题(LIS、JLIS)
1. 最长递增子序列 不要求位置连续:要求大小严格递增(strictly increasing) 穷举法解题 首先以每个数字为单位分割寻找最长递增子序列: int lis(const vector&l ...
- BigQuery分析GitHub上的C#
BigQuery分析GitHub上的C# 一年多以前,Google 在GitHub中提供了BigQuery用于查询的GitHub上的开源代码(open source code on GitHub av ...
