Вы действительно получаете исключения «из памяти»? Или ошибки «вне стека»? Внимательно проверяйте логи, так как у меня был опыт перезапуска CF спонтанно раньше - проверьте файлы server.log
.
Если ответ положительный, то, как уже упоминалось, вы можете использовать такой инструмент, как JConsole, для мониторинга использования памяти. Если вы видите, что до этих исключений память увеличивается и увеличивается, вам необходимо выяснить, где происходит утечка памяти. Лучший способ сделать это - получить дамп JVM в то время и использовать инструмент анализа meomry. Я задокументировал наш опыт с этим.
Если нет исключений и т. Д., Имейте в виду, что JRun использует много памяти. Как правило, между 500 МБ и 1,5 ГБ на наших серверах Win32, даже если настройка CF Admin для размера кучи JVM составляет 1024 МБ. JRun и работает поверх Java, работает сервер приложений, так что это будет достаточно высоко. То, что вам нужно остерегаться - это постоянно растущее использование памяти с использованием JConsole.
Что касается настройки ГХ - используйте эти настройки, только если у вас действительно есть проблема. Это сложно и приведет к нестабильности сервера, если все сделано неправильно или без понимания того, как работает Java GC. Вы можете получить основы здесь , а затем передать параметры (например, -XX:MaxPermSize=192m
) в качестве аргумента JVM в CF admin.
Достижение сути проблемы с памятью может быть сложным и трудоемким, поэтому удачи!