GAE/JでPermGen space | sola's note

sola's note

日ごろのメモを書いていきます。何か新しいものを作るために。

なんだか難しい事を書くようだけど

要はメモリリーク

Google App Engin for Javaで
Androidのサイト制作を進めていくにあたって、微調整をしている時
これが頻発(?)するようになった。

java.lang.OutOfMemoryError: PermGen space

Javaでメモリリークなんてあるのかなんて思ってて1回目はスルーしたんだけど
2回目も発生
まあ、再起動で無視できるものなら無視するんだけど
これが発生すると


ローカル環境のデータストアのデータが飛ぶ


んだよね(・ω・`)
アカウント設定とか環境設定とか、諸々し直すと思うと


流石にメンドクサイ


本当はSeleniumで環境設定を自動化しようと思ったんだけど
jQuery多用しすぎなせいか、


Seleniumが効かなくなった


という事態が発生してね。。。orz
環境設定なんて滅多にしないから原因究明は後でいーや
とか思ってたんだけど、今回のメモリリーク。

確認してみると怪しいのはSlim3のHOT reloading機能のよう。
これを有効にしている時に
アプリケーションでリフレクション情報をキャッシュしたりするとダメっぽいらしい。

とか言われても

HOT reloading機能便利だから無効にするなんて選択肢ないな('A`)

追記:
PermGen spaceが起きるとローカルのデータストアデータが飛ぶと書きましたが、
飛ばない時もあるようです。

2回目は確認してみたら飛んでませんでした。