If you update to newest version of Java 1.6.0 update 21 and try to run Eclipse you surely seen on of this:
- Unhandled event loop exception
- PermGen space
So Eclipse started to become pretty unusable WTF. However for now there is simple workaround just edit your eclipse.ini like this:
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-XX:MaxPermSize=256m
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
You have to add -XX:MaxPermSize=256m.
The most interesting thing about this is reason why this problem
reappeared, an old problem actually.
The reason is because somebody at Eclipse team hard-coded to check jvm
signature by checking the file jvm.dll if the company name is “Sun
Microsystems”. And as we all know because of the Sun-Oracle merge, and
end of Sun existence, the company name changed to “Oracle”, and also the
jvm.dll signature changed. more about this read on link
What have we learned from this, never ever hard-code a string that can
change in the future, even when it is not likely to change, maybe there
is some kind of “Oracle” that will come and “buy your string”.
Ref:
http://aniefer.blogspot.com/2010/07/permgen-problems-and-running-eclipse-on.html