On Mon, 30 Jul 2007 13:04:44 -0400, Eric Rizzo wrote:
Kevin Crocker wrote:
-showsplash org.eclipse.platform
--launcher.XXMaxPermSize
128M (I haven't tried changing this)
-vmargs
-Xms40m (I've tried changing this all the way up to 256m)
-Xmx256m (I've tried changing this all the way up to 1024m)
-Dosgi.bundlefile.limit=100
So what do these things mean and why are they so small? Please don't tell
me to RTFM, I've done that and it didn't help - the docs seem to be in
Geekish rather than English.
-showsplash: You don't care what that means, trust me.
--launcher...: This is what tells the Eclipse launcher to instruct the
JVM allocate a larger-than-default Permanent Generation size, if it
detects that the JVM is a Sun JVM (other JVM's don't understand that
option). This avoids the Out Of Memory - PermGen problems that arise
because the default PermGen size is too small for applications with lots
of classes.
-vmargs: tells the launcher to pass the remaining args to the JVM it
creates to run Eclipse
-Xms40m: Tells the JVM to allocate a minimum of 40MB of heap space when
it starts.
-Xmx256m: Tells the JVM to use no more than 256MB of heap space.
[remember that heap space is only part of the total memory used by a
Java process]
-Dosgi.bundlefile.limit=100: Sets a system property in the JVM that the
OSGi framework (aka, Eclipse Platform) to limit itself to 100 bundle
files. I'm not sure the ramifications of this option, but there was a
discussion that it can cause some trouble on some file systems that
limit how many open files a process can have open concurrently. IF you
were to see "too many file handles" type of errors you could try
removing this option.
Don't forget, you asked what these mean so don't shoot the messenger
because the details are too geeky. :-)
Hope this helps,
Eric
Eric,
Thanks for the explanation. It helps a lot - unfortunately, the --launcher...
one doesn't actually set the MaxPermGen higher than 64M - I tried this
and set it t0 128M and the Memory Monitor still says that PermGen is set
to 64M
I'm still getting OOME (Out of Memory Errors) that point to PermGen
(MyEclipse pop up). I went through and read the complete Bug report on
this and while it was tremendous, it appears that this problem resides
in the SUN JVM and there doesn't seem to be much movement on fixing it.
Thanks again for the explanation.
Kevin