У нас было 5 приложений по линейному (Ubuntu 10.04 32 бит) 1G RAM. Недавно мы перенесли одно из приложений из этого linode в другое из 512M. Приложение построено на Java EE и на старом сервере работает довольно стабильно. На новом сервере, однако, tomcat (версия 6 на обоих серверах) периодически вылетает без каких-либо журналов. Единственное отличие нового сервера заключается в том, что мы используем nginx в качестве веб-сервера против apache2 на старом, а новый сервер использует Ubuntu 12, 64 бит. Нет никаких оснований сомневаться в утечке памяти, потому что приложение хорошо себя ведет на старом сервере. Существуют ли какие-либо модификации tomcat для предотвращения подобных сбоев. Я сомневаюсь, что причиной является загрузка из-за трафика (поскольку новый сервер имеет более низкую ОЗУ), потому что даже в середине ночи, когда около 10 одновременных пользователей, tomcat все еще падает. Любое понимание этой проблемы будет оценено по достоинству.Постоянные сбои Tomcat6
Я проверил использование ОЗУ, а tomcat постоянно занимает около 60% всей памяти и внезапно падает и переходит на 0. Я использовал сценарий bash и запускаю его как задание cron каждые 5 минут на новом сервере чтобы проверить, отключен ли tomcat, и перезапустить его автоматически. Может ли это быть причиной? Сценарий указан ниже
if [ "$(/etc/init.d/tomcat6 status)" == " * Tomcat servlet engine is not running." ]; then /etc/init.d/tomcat6 start; fi
Обратите внимание, что я не являюсь экспертом по конфигурации сервера. Я могу просто настроить сервер для установки и выполнения требуемых действий.
Являются ли JVM идентичными? Являются ли их настройки для xmx, permgen ... одинаковыми? –
Нет ... поскольку на сервере новый сервер меньше, я установил значения на половину tht 128 м и 256 м против 256 м и 512 м на старом сервере. –
Возможно, убийца linux OOM убивает вашего кота. Вы должны проверить syslogs для любых необычных подключений во время сбоев. Также посмотрите на версии jvm на обеих машинах. –