Утечка ссылки на среду выполнения jruby, получение ошибок PermGen OOM после перезагрузки приложения
Что-то в моем коде или в используемых мной драгоценных камнях вызывает утечку ссылки на среду выполнения JRuby: каждый раз, когда я перезагружаю приложение в Torquebox, Trinidad или что-то еще, permgen просто заполняется до тех пор, пока в итоге не получится слишком много перезагрузок. Ошибка OOM PermGen.
Как мне узнать, что вызывает это? Какие вещи я ищу? Я использую JRuby 1.7.3, поэтому не должно быть проблем с самой JRuby...
1 ответ
Это, вероятно, самое близкое к Hotspot, которое обеспечивает очистку памяти PermGen:
JAVA_OPTS = "- сервер -XX: + UseConcMarkSweepGC -XX: + CMSClassUnloadingEnabled -XX: + UseCodeCacheFlushing..."
... конечно не поможет, если есть утечка ссылок, сдерживающая классы от GC-d