Ответ 1
Вероятно, это была проблема с Apache. Мы перезагрузились, немного покрасили конфигурацию Apache и снова работали после этого... Weird
Я использую Apache и Tomcat на сервере Windows, и с сегодняшнего утра Tomcat перестает работать без каких-либо журналов. Он не висит, он просто закрыт.
Там нет журнала в Tomcat, CPU/Memory являются штрафами, в моем коде нет System.Exit
.
У кого-нибудь была эта проблема?
Это случается случайным образом через 5-10 минут. Приложение реагирует нормально и когда-то, стрела.. перестает работать.
ОБНОВЛЕНИЕ: По-прежнему нет подсказки. Команда администратора установит webapp на другой блок...
Вероятно, это была проблема с Apache. Мы перезагрузились, немного покрасили конфигурацию Apache и снова работали после этого... Weird
Это похоже на сбой JVM. Вы искали журнал сбоев JVM? Обычно он имеет имя hs_err_pid *.log и создается в рабочем каталоге JVM.
Если вы найдете файл, подобный этому, и загрузите его, мы, возможно, сможем помочь больше.
Некоторые вопросы:
У меня была эта проблема, и я нашел причину в этой ссылке.
Мой script для запуска tomcat имел последнюю строку tail -f catalina.out
. Когда-то я не убил этот script, тогда оболочка завершила время и убила script всеми дочерними процессами, включая tomcat.
Недавно у меня была эта проблема. Если кто-то столкнется с такой же проблемой в будущем, я надеюсь, что это поможет.
Сценарий: Tomcat отключается без каких-либо журналов или ошибок
Корневая причина для моей проблемы: синхронизированный метод, доступный из задачи с помощью TimerTask
У меня был одноэлементный класс с синхронизированным методом, доступным из разных потоков на основе таймера или действия пользователя
несколько раз этот метод займет до нескольких минут. Когда TimerTask
ожидает этот метод на какое-то время (я думаю, таймер отключен/поток убит или что-то происходит в фоновом режиме), и как только блокировка метода будет выпущена, tomcat будет убит.
Итак, я удалил синхронизированное ключевое слово и удалил singleton и сделал некоторые изменения кода для безопасности потоков. Тогда проблема исчезла.
Как я узнал: У меня был оператор журнала в первой строке синхронизированного метода, и каждый раз, когда вы останавливали tomcat, я нашел это сообщение в последних нескольких строках.
С уважением, Фаниндра Кастури
что нужно искать при отладке такой проблемы:
Другая возможность заключается в том, что некоторый процесс был запущен этим утром в ящике, который привязан к порту, который требуется вашему серверу.
Разрешено ли вашим сервлетам или одному из этих зависимостей вызвать System.exit()? (Не знаете, как заблокированы VM Tomcat в этом смысле)
У меня были разработчики, которые думают, что можно использовать exit (666); на обнаружение неинвертируемой матрицы (что не очень хорошо, но уверенно, что черт не смертелен). Arrgh. Возможно, у вас есть какой-то подобный преступник в вашей системе?
Я заметил CATALINA_OPTS на моем пути и был установлен для более низкого размера JVM. Следовательно, был обнаружен аварийный и лог-следы кота. Сервер автоматически отключается менее чем за 2 часа.
check, CATALINA_OPTS или JAVA_OPTS - у них могут быть настройки jvm. либо увеличивать их, либо комментировать их, и увеличивать память подкачки.
"Служба на локальном компьютере началась, а затем остановлена. Некоторые службы автоматически останавливаются, если другие службы или программы не используются".
Я прошел через проблему, я пробовал так много способов выйти из проблемы, наконец, я получил решение следующим образом.
1) Нажмите кнопку Запустить из кнопки "Пуск".
2) Введите Services.msc, затем нажмите "ОК", вы получите все службы на своем компьютере.
3) Выберите свою услугу и щелкните правой кнопкой мыши службу и выберите "Свойства"
4) Перейдите на вкладку "Свойства входа" и выберите Локальная системная учетная запись, затем нажмите "ОК".
Это будет работать.