起動時にEclipseが使用するパーマネント領域を増やす

AspectJを使い出してからフルビルドを行う機会が増えて、単体テストの実行時に、


java.lang.OutOfMemoryError: PermGen space

が頻発するようになってしまいました。

そこで、Eclipseが使用するパーマネント領域を増やすために、Eclipseのルート位置にある「eclipse.ini」を開き、以下を追加しました。


-vmargs
-Xms64m
-Xmx512m
-XX:MaxPermSize=128m

上の、「-XX:MaxPermSize」がパーマネント領域のサイズを指定している部分です。
確かデフォルトは64MBだったと思います。

パーマネント領域は静的なメモリ領域(インスタンスではなく、クラスが格納される)のため、ガベージコレクションでは解放されません(実際に計測してみると、少しだけ解放されているようですが、ほぼ変わりません)。
ですのでパーマネント領域は、使用環境に応じて適切な値にチューニングする必要があります。