您的位置:首页 > 编程语言 > Java开发

Eclipse启动参数解决占用CPU 100%,必须“立即结束”的问题

2013-07-22 00:19 816 查看
机器配置:

P4 2.8 GHz 超线程,内存 1G

症状:

使用Eclipse时,点击某个按钮或图标甚至正在输入代码时,整个程序突然失去响应,菜单栏变白,除了关闭按钮,其他地方都没反应,在任务管理器中发现javaw.exe占用CPU50%(相当于单CPU100%),内存占用200多M,且CPU和内存占用数值均停止不动,机器风扇开始轰鸣,再等半天还是这个样子。点击“关闭”按钮出现“立即结束”对话框,只能很无奈地强行退出,有时一天碰到10多次,基本失去可用性。

寻找解决方案:

百度、google搜索,一般的解决方案是,调整启动参数-Xms -Xmx,增大堆内存,然而,在上述机器上设置为-Xms512m -Xmx512m,仍然没效,到失去响应的时候占用的内存依然是200多M。

看来这个问题需要自己解决了。用命令行方式启动eclipse:

java -Xms512m -Xmx512m -jar startup.jar

到失去响应的时候,发现命令行里打印出java.lang.OutOfMemoryError: PermGen space,打开workspace/.metadata/.log文件,发现很多这样的字符串,把这段话贴到搜索引擎上,发现很多这种问题,不过一般出现在Tomcat,Weblogic等Web应用程序上,没有人报告过会出现在Eclipse上。解决方案是增加启动参数:

-XX:MaxNewSize=256m -XX:MaxPermSize=256m

于是在eclipse.ini里把启动参数改为:


-Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

启动Eclipse,用了几天,都没再出现失去响应的症状。

关于MaxPermSize的文章:

CFMX JVM Tuning - The difference between MaxPermSize and Heap Size

原文地址:http://www.blogjava.net/amplifier/archive/2010/12/02/78619.html?opt=admin
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: