Java, VisualVM: configuración adecuada de VisualVM para aplicaciones web basadas en Java8

Java, VisualVM: configuración adecuada de VisualVM para aplicaciones web basadas en Java8

Tengo una aplicación web basada en Java que implementé en uno de nuestros servidores. A veces, la JVM moría debido a un error de falta de memoria. La aplicación es un poco pesada ya que utiliza mucho Cometd (mecanismo Push) y algunas columnas están cifradas. Para esto, decidí monitorear la aplicación, pero por alguna razón, VisualVM no muestra el muestreo ni el uso de la CPU. Dice que la JVM no es compatible.

El segundo problema que tengo es que el tiempo de actualización de VisualVM es demasiado lento. Quiero disminuir los intervalos entre los cuales monitorea, pero tampoco tuve suerte de encontrar esa opción.

Estoy ejecutando Debian Wheezy, 64 bits y Java8-64 bits. El contenedor de la aplicación es Apache Tomcat y la base de datos es Postgres. Jstatd ya está iniciado. Soy nuevo en la creación de perfiles y el seguimiento, cualquier ayuda sería buena.

Aquí están las capturas de pantalla. Por favor, eche un vistazo.

Gracias.

Actualizar

Aquí está la captura de pantalla actualizada de cómo se ve sin la configuración que se menciona a continuación:

Captura de pantalla

Y mi catalina.sh tiene algunas configuraciones de servidor como:

CATALINA_OPTS="$CATALINA_OPTS -server -XX:+UseParallelGC -XX:+UseParallelOldGC -XX:+UseAdaptiveSizePolicy -Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=portnumer -Dcom.sun.management.jmxremote.authenticate=true 
    -Dcom.sun.management.jmxremote.ssl=false"

Aquí está la configuración anterior con el nuevo GC:

Captura de pantalla actualizada después del nuevo GC

Respuesta1

Agregar esto a la aplicación JVM de destino me funciona:

-Djava.rmi.server.hostname=localhost

información relacionada