3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

Eclipse3.3.1で起動エラー(JVM terminated. Exit code=-1)

PHPの開発環境でPDT All In One(Eclipse3.3.1)を使おうと思い、起動したところ下記のエラーが出ました。

ネットで調べるとこの現象に困ってる方も多いようで。

対策としては、"eclipse.ini"のメモリの設定で行えるようです。

 

デフォルトの"eclipse.ini"はこうなってます。

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
-vmargs
-Xms40m
-Xmx256m

 

 

で、--launcher.XXMaxPermSizeの値を減らすと動くようです。

自分の場合 --launcher.XXMaxPermSize の値を220MBにすると動きました。

-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
220m
-vmargs
-Xms40m
-Xmx256m

 

なお、プラグインを多く使っている場合、XXMaxPermSizeの値を減らしすぎると、java.lang.OutOfMemoryErrorが発生するそうです。

 

--launcher.XXMaxPermSizeの設定を消しても動きましたが、その場合はJVMのデフォルト値が使われるのでしょうかね。

 

XXMaxPermSizeというのは、JVMでクラス定義やメソッド、フィールドなどのメタデータが格納されるPermanent領域(ヒープ領域)の最大値みたいです。

詳しくは@IT Permanent領域のチューニング参照のこと。