Estoy ejecutando Tomcat 6.0.31 en Ubuntu 10.10 y utilizando tge Sun JDK (java-6-sun). Aunque tomcat se está ejecutando, su proceso no aparece cuando ejecuto jps
(herramienta de estado de proceso de la máquina virtual de Java). El único resultado que veo es el pid para el proceso jps en sí. ¿Por qué el proceso Tomcat no aparece?jps no muestra el proceso de Tomcat
Respuesta
Usted probablemente está ejecutando en Bug 7009828:
En Java 6 Update 23 y Java 6 Update 24, Java consideran la propiedad java.io.tmpdir
la hora de decidir dónde colocar algunos archivos que se necesitaban para jps
, jconsole
y jvisulavm
para detectar localmente ejecutando JVMs. Esto significa que todas las instancias de JVM que tenían esta propiedad del sistema definida en un valor distinto al predeterminado (/tmp
) serían invisibles para estas herramientas.
Las instalaciones de Tomcat en particular establecen de forma predeterminada esta propiedad en sus instalaciones en la carpeta temp
.
Por lo tanto: ya sea actualización a Java 6 Update 25 o posterior (donde el error se corrige) o empezar con jps
-J-Djava.io.tmpdir=/path-to-tomcat-installation/temp
.
¿Podría ser debido a los directorios /tmp/hsperfdata_$USER
que están siendo eliminados por una tarea cron ejecutándose en su sistema? Ver http://www.semicomplete.com/blog/geekery/jps-shows-nothing-useful.html para más información.
Este parece ser el problema para mí también ... los procesos de larga ejecución desaparecen de la salida 'jps', y el trabajo cron parece ser el culpable. ¿Por qué los diseñadores de Java no pensaron en esto cuando decidieron poner esos archivos de proceso en el directorio '/ tmp'? – ADTC
Compruebe sus argumentos vm si -XX:-UsePerfData
presente.
Si es así, eliminarlo, y reiniciar JVM
Comprobar la propiedad del/tmp/hsperfdata_ * Guías de este modo:
ls -ld /tmp/hsperfdata_*
Cada directorio será propiedad del usuario que posee que Java proceso. Si el proceso que le interesa no es propiedad suya, entonces los datos no serán accesibles. Sin embargo, si ejecuta jstatd como root, podrá acceder a todos los datos.
sudo jstatd <rest of options...>
- 1. jps no funciona
- 2. jps información del proceso no disponible - jconsole y jvisualvm no funcionan
- 3. Hadoop: No se puede utilizar el comando Jps
- 4. No se pueden depurar los servicios de Windows de Java con jhat, jps, jstack
- 5. jps no devuelve ningún resultado incluso cuando los procesos java se están ejecutando
- 6. jps no se puede conectar a un jstatd remoto
- 7. System.Diaganostics.Process.Id No se muestra el mismo ID de proceso en el Administrador de tareas. ¿Por qué?
- 8. Magento No se muestra el método de envío en el proceso de pago
- 9. Tomcat no descarga el búfer de respuesta
- 10. mvn tomcat: la ejecución no inicia Tomcat
- 11. QProgressBar no muestra el progreso?
- 12. El encabezado UICollectionView no muestra
- 13. wicked_pdf no muestra el encabezado
- 14. Monit no inicia el proceso
- 15. El servicio que inicia un proceso no muestra la GUI C#
- 16. tomcat no entrega el certificado intermedio (https)
- 17. Tomcat de XAMPP no trabajar
- 18. Iniciar proceso no elevada de proceso elevada
- 19. ¿No se muestra el número de línea?
- 20. El proceso de Python no saldrá
- 21. Tomcat no se apaga dentro de Eclipse
- 22. Error de Tomcat-Maven 401: no se puede invocar el administrador de Tomcat
- 23. arriba muestra la utilización de la CPU de alto espacio de usuario, pero todo el proceso muestra 0
- 24. Detener el temporizador programado al cerrar tomcat
- 25. 401 No autorizado en Tomcat
- 26. Tomcat ServletContextListener.contextDestroyed no se llama
- 27. Tomcat no empezar (devolver java.net.BindException:)
- 28. ¿Cómo puedo controlar Tomcat con jvisualvm, mostrando visualgc?
- 29. Proceso de ejecución dado el proceso handle
- 30. HighCharts.js no muestra el gráfico en IE8
¿Ha intentado ejecutar jps como root? Tal vez es un problema de permisos? – Pace
Para las JVM más nuevas, el comentario de @ Pace apunta a la respuesta correcta: 'jps -l' muestra una lista de procesos diferente a la de' sudo jps -l'. Tengo que usar 'sudo' para ver a Tomcat cuando se ejecuta como root. – Lambart