フリーズ不具合修正と eclipse.ini の設定値
E4 に対する Pleiades 本体の不具合を修正し、Pleiades All in One にも反映しました。
Pleiades All in One の eclipse.ini メモリ設定
以下、ダウンロードページに記載したものを転載します。
ヒープの最小 Xms と最大 Xmx は同じにしたほういいの?
サーバーで利用する Sun Server VM や JRockit は同じサイズを指定して GC 回数を減らすことが推奨されています。ただし、これは GC の 1 回あたりの負荷が高くなり、コンカレント GC であってもクライアント GUI アプリケーションなどの場合は操作がブロックされるように感じられる場合があります。IBM JVM では、このような GC 負荷を減らすため -Xms にはアプリケーションで必要な最小サイズを指定することが推奨されています。Eclipse を実行する環境としても JVM の種類に関わらず -Xms には適切な最小サイズを指定することをお勧めします。
パーマネント領域の指定について
-XX:MaxPermSize ではなく --launcher.XXMaxPermSize で指定しているのは、-XX:MaxPermSize が Sun JVM の拡張オプションであり、それ以外の JVM では起動できない場合があるためです。 Eclipse ではその問題を回避するために、--launcher.XXMaxPermSize が指定された場合、JVM ランチャーである eclipse.exe が Sun JVM に -XX:MaxPermSize を渡し、それ以外の JVM には何も渡しません。IBM JVM はパーマネント領域は自動制御されるため指定する必要がなく、JRockit ではパーマネント領域ではなくネイティブ領域 (物理メモリ - ヒープ) にクラス情報が格納されます。
-XX:MaxPermSize を指定しないと起動しない場合があるのはなぜ?
前述の問題を eclipse.exe が解決するため、基本的には -XX:MaxPermSize を指定してはいけません。基本的にというのは、過去に少なくとも 2 つの問題があり、そのような場合は -XX:MaxPermSize の指定が必要な場合があります。1 つは Eclipse 3.3.0 が JVM に -XX:MaxPermSize を渡さないバグがありました。2 つ目は Sun が Oracle に買収されたときに、VM が保持する会社名文字列を Sun から Oracle に変更し (内部仕様変更として外部には告知されなかった)、不運にも eclipse.exe はこれを文字列判定していたため問題が発生していました。この問題は Java 6 update 21 で修正されています。