起動時にEclipseが使用するパーマネント領域を増やす
AspectJを使い出してからフルビルドを行う機会が増えて、単体テストの実行時に、
java.lang.OutOfMemoryError: PermGen space
が頻発するようになってしまいました。
そこで、Eclipseが使用するパーマネント領域を増やすために、Eclipseのルート位置にある「eclipse.ini」を開き、以下を追加しました。
-vmargs
-Xms64m
-Xmx512m
-XX:MaxPermSize=128m
上の、「-XX:MaxPermSize」がパーマネント領域のサイズを指定している部分です。
確かデフォルトは64MBだったと思います。
パーマネント領域は静的なメモリ領域(インスタンスではなく、クラスが格納される)のため、ガベージコレクションでは解放されません(実際に計測してみると、少しだけ解放されているようですが、ほぼ変わりません)。
ですのでパーマネント領域は、使用環境に応じて適切な値にチューニングする必要があります。