Столкнулся с этой проблемой недавно.
Сценарий : Tomcat запущен успешно, но автоматически отключается через 1 час, а иногда это происходит через 1 день, и в журналах tomcat ничего не появляется.
Проблема : Фактическая проблема связана с большим использованием памяти и отсутствием свободной памяти SWAP.
Как я нашел решение
Если tomcat не показывает никаких журналов, то в системных журналах должно быть что-то, поэтому я проверил /var/log/messages
, но, поскольку мне отказано в разрешении, я попытался /var/log/dmesg
и получил
«Недостаточно памяти: убить 14606 (java) счет 106 или принести в жертву ребенка».
В выводе я заметил Свободная память подкачки 0 K . Запустил top
команду для подтверждения того же. Так или иначе, было большое использование памяти, которое заставило ОС убить мой процесс tomcat.
После долгих часов, наконец, нашли причину.
ps -ef | grep tomcat
показал, что для одного и того же приложения выполнялось несколько процессов Tomcat. Похоже, что более ранние завершения работы tomcat могли не завершиться успешно, и процессы не были завершены даже после завершения работы по какой-то причине, которая вызывала высокое использование памяти.
Итак, убил все запущенные процессы Tomcat, используя kill
. Память SWAP освобождена.
Запустил tomcat снова, работал нормально. :)