amp@java

amplifier's java blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  98 随笔 :: 0 文章 :: 228 评论 :: 0 Trackbacks
机器配置:
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

posted on 2006-11-02 11:02 amp@java 阅读(12124) 评论(2)  编辑  收藏 所属分类: Java common

评论

# re: Eclipse启动参数解决占用CPU 100%,必须“立即结束”的问题 2008-03-07 11:52 cdm
java -Xms512m -Xmx512m -jar startup.jar
我的机子是用这个命令行解决的,多谢!  回复  更多评论
  

# re: Eclipse启动参数解决占用CPU 100%,必须“立即结束”的问题[未登录] 2010-12-02 23:03 Echo
谢谢提供这个资讯  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: