前几天用eclipse3.3真是饱受痛苦,程序来会死掉,操作稍快就卡了,然后就只能结束进程。花了点时间优化了下eclipse,现在跑几个大的项目也很流畅了。
eclipse程序感觉到卡一般是由于分配给Java虚拟机JVM的堆栈内存和非堆栈内存不够, 堆栈内存就是Java代码可及的内存,是留给开发人员使用的;非堆栈内存就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。
堆栈内存 优化启动参数为 Xms Xmx
非堆栈内存 优化启动参数为 -XX:PermSize -XX:MaxPermSize
将下面参数加到eclipse快捷方式的目标后
-vmargs -Xms256M -Xmx512M -XX:PermSize=256M -XX:MaxPermSize=512M
也可以加到eclipse目录下的eclipse.ini中,但我改后却没有生效,可能是因为格式不对,可是我参照了很多地方,没发现哪里不一样。就因为没发现这一点,浪费了我很多时间,后来下载了一个叫FreeMem的eclipse插件,才发现我分配给JVM内存只有64M,顿时傻了,这样不挂才怪,刚启动eclipse内存就跑空了。
FreeMem插件的介绍及下载地址http://www.junginger.biz/eclipse/freemem.html,安装后eclipse里面可以显示分配的堆栈内存和非堆栈内存及实时jvm占用掉的内存。这样一来可以对现在内存情况很清楚,至少心理上感觉很塌实,不会担心eclipse随时挂掉。