Что делать, когда tomcat перестает отвечать, но доступ к jstack и jmap запрещен? - PullRequest
3 голосов
/ 22 октября 2010

Кто-нибудь знает причину, по которой tomcat может перестать отвечать или каким-либо образом я могу выяснить, почему это происходит?

Кажется, что Tomcat отлично работает в течение многих недель, прежде чем упасть, но это случалось уже несколько раз.

Я видел этот вопрос Tomcat 6 зависает через несколько часов , что похоже на ту же проблему, что и у меня, но я не могу понять, как запустить jstack.

Это на windows server 2008 с tomcat 2.0.28, работающим с jdk 6.0.20. Tomcat работает как служба, входя в систему как локальный пользователь с именем tomcat_user. Этот пользователь имеет логин в качестве службы Priv и не является членом каких-либо групп. Я пытался добавить пользователя в группу администраторов, но доступ по-прежнему запрещен.

Из командной строки я пробовал runas /user:servername\tomcat_user

Затем, когда я запускаю jps, я получаю следующий вывод:

4476 - информация о процессе недоступна

1540 Jps

И jstack 4476, и jmap -histo 4476 выдают одинаковую ошибку:

4476: доступ запрещен

1 Ответ

4 голосов
/ 25 января 2012

Я не знаю, почему tomcat перестал работать, но ответ «Доступ запрещен» часто возникает из-за того, что командная строка не запускается с правами администратора, поэтому jstack не может получить доступ к ресурсам, необходимым для отслеживания данного процесса.

В Windows7 я нашел самый простой способ открыть командную строку, как разовый, с правами администратора, - пройти через меню «Пуск» («Пуск» - «Стандартные» -> «Командная строка»), щелкнув правой кнопкой мыши командуподскажите и скажите «Запуск от имени администратора».

...