2009-04-08 16 views
5

Tengo problemas para usar el perfil Netbeans 6.5 para hacer un perfil del uso de la memoria de una aplicación web java, de forma remota.¿Utiliza el perfil de Netbeans 6.5 para perfilar una aplicación web remota?

He seguido los pasos en el tutorial, y pude personalizar una instancia de Tomcat para comenzar con los agentes de generación de perfiles. También puedo adjuntar el perfil de Netbeans al servidor en ejecución: durante algunos segundos, el generador de perfiles muestra gráficos con el uso de la memoria del servidor.

Sin embargo, no puedo ejecutar mi aplicación web implementada. Después de unos segundos, el servidor se cierra con gracia como si simplemente hubiera llegado al final de su método principal (apenas el comportamiento esperado de un servidor web).

Durante estos segundos, el servidor no es responsable, y no puedo conectarme a una aplicación web, simplemente no se implementan.

No quiero importar mi aplicación a un nuevo proyecto de Netbeans solo para perfilarla. Es posible perfilar una aplicación remota sin acceso a su fuente, ¿verdad? Después de todo, durante unos segundos, el servidor se estaba ejecutando y se estaba perfilando.

Quiero crear un perfil de una aplicación web en Netbeans 6.5. ¿Qué olvidé?

+0

leíste registros del servidor? – Sergey

+0

¿Puede hacer un perfil/monitorear tomcat sin desplegar su aplicación web, simplemente ejecutando tomcat "vacío"? –

+0

Lo mismo me está sucediendo a mí. Tal vez sería útil si ponemos algunos números de versión de lo que estamos ejecutando para que la gente pueda buscar la pregunta. Estaba intentando implementar en Tomcat 5.5.x, ejecutándolo en Java5 y Java6. Mi versión de Netbeans fue 6.5 Por otro lado, importar mi proyecto a Netbeans y luego ejecutar el generador de perfiles funcionó a la perfección. @sergey Lamentablemente no hubo salida en ninguno de los registros de Tomcat – jklp

Respuesta

0

Están perfilando todo el servidor web o ¿usaron el filtro de perfil para perfilar solo su paquete? Reducir la interacción entre el generador de perfiles y el servidor de aplicaciones puede resolverlo.

1

También puede usar la herramienta VisualVM. Siga los pasos mencionados a continuación.

1) Ejecutar jstatd (proceso demonio jstat) (se ejecutan en el equipo remoto donde se está ejecutando la aplicación) jstatd -p 1098 -J-Djava.security.policy = tools.policy (especificar puerto no utilizado) si tools.policy archivo no se especifica crearlo de la siguiente manera.

tools.policy 
grant codebase "file:${java.home}/../lib/tools.jar" { 

permission java.security.AllPermission; };

2) También especifique las siguientes propiedades antes de iniciar su JVM.

#JMX property 
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote=true" 
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.port=10992" 
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.authenticate=false" 
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.ssl=false" 

3) Inicie la máquina virtual visual en la máquina local. a. En la pestaña remota, agregue el nodo remoto. b. Espere unos minutos y verá que la instancia de todas las aplicaciones principales se verá en la pestaña remota. c. Haga clic en el nodo remoto y luego seleccione Agregar conexiones JMX. Especifique el nodo: puerto (puerto mencionado anteriormente en el punto 2). d. Espere unos segundos a ver la conexión JMX en el nodo remoto.

4) Después de unos segundos, aparecerá una nueva pestaña debajo del nodo remoto. Haga doble clic en el remote_node: 10992 verá la tabla de perfil en el lado derecho. Puede ver detalles de memoria, CPU, hilo, etc. ..

0

Compruebe su versión de jvm. La versión utilizada por netbeans debe ser la misma que en tomcat. Usar puertos predeterminados. Si ha cambiado algún puerto, asegúrese de que sea superior a 1024. Intente crear un perfil de la aplicación de ejemplo en tomcat (elimine todas las demás aplicaciones). Si se ejecuta correctamente, significa que hay una restricción de memoria. El perfilado requiere una gran cantidad de memoria. use -xms1024m -xmx1024m para tomcat. Si todo lo demás falla. pensar en cambiar a jdk6 y tomcat 6. Después de muchas pruebas, descubrí que hay muchas limitaciones en jdk5 y tomcat5. cambiar a tomcat6 y jdk6 resolvió el problema para mí.

de perfiles con netbeans no funciona JRockit, IBM JDK etc ..

--kiran.kumar

Cuestiones relacionadas