Hibernateを使った開発をしていると、たぶん一度はお目にかかると思うエラー。
java.lang.OutOfMemoryError: PermGen space
チェック → 問題発見 → 修正 → デプロイ → チェック という作業を延々とやっていると、たまに出てくるエラー。これが出ると、Tomcatを再起動しないと何もできなくなる。
しかし、このエラーを回避する方法があった。完全に回避できるかどうかはわからないけど、今のところエラーが出なくなったので回避できたものとしておく(笑)
早い話が、
-XX:MaxPermSize=256m
というパラメータを、Tomcat起動時に渡してあげればいいみたい。この例だと、指定したサイズは256MB。この辺のサイズは、環境によって合わせるべし。
一応、マシンの物理メモリのおよそ50%から70%の間くらいが望ましいらしい。今回は512MBのメモリを積んだマシンだったので、半分の256MBを指定。
あとは、環境変数にセットしておくのも手かも?その場合は
export CATALINA_OPTS="-XX:MaxPermSize=256m"
でよいと思われる。
コメント