jps не показывает процесс Tomcat - PullRequest
9 голосов
/ 09 июня 2011

Я использую Tomcat 6.0.31 в Ubuntu 10.10 и использую tge Sun JDK (java-6-sun).Хотя tomcat работает, его процесс не отображается, когда я запускаю jps (Инструмент состояния процесса виртуальной машины Java).Единственный вывод, который я вижу, это pid для самого процесса jps.Почему процесс Tomcat не появляется?

Ответы [ 4 ]

14 голосов
/ 15 июня 2011

Возможно, вы сталкиваетесь с Ошибка 7009828 :

В Java 6 Update 23 и Java 6 Update 24, Java учитывает свойство java.io.tmpdir при принятии решения о том, где разместить некоторые файлы, необходимые для jps, jconsole и jvisulavm для обнаружения локально работающих JVM. Это означает, что каждый экземпляр JVM, для которого это системное свойство определено не по умолчанию (/tmp), будет невидимым для этих инструментов.

Установки Tomcat, в частности, по умолчанию устанавливают для этого свойства папку temp.

Итак: либо обновить до Java 6 Обновление 25 или более поздней версии (где исправлена ​​ошибка) или запустить jps с -J-Djava.io.tmpdir=/path-to-tomcat-installation/temp.

2 голосов
/ 15 июня 2011

Может ли это быть из-за удаления каталогов /tmp/hsperfdata_$USER заданием cron, запущенным в вашей системе?См. http://www.semicomplete.com/blog/geekery/jps-shows-nothing-useful.html для получения дополнительной информации.

0 голосов
/ 03 июля 2015

Проверьте владение каталогами / tmp / hsperfdata_ * следующим образом:

ls -ld /tmp/hsperfdata_*

Каждый каталог будет принадлежать пользователю, которому принадлежит этот процесс Java.Если интересующий вас процесс не принадлежит вам, данные не будут доступны.Однако, если вы запустите jstatd от имени пользователя root, он сможет получить доступ ко всем данным.

sudo jstatd <rest of options...>
0 голосов
/ 11 ноября 2014

Проверьте ваши аргументы VM, присутствует ли -XX:-UsePerfData.

Если это так, удалите его и перезапустите jvm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...