2009-11-02 22 views
21

Estoy desarrollando una aplicación Java y una aplicación web J2EE usando Eclipse Europa en Mac OS X 10.5.8. La aplicación web proporciona una capa RESTful API para la aplicación Java que he escrito. Estoy ejecutando la aplicación web usando tomcat desde dentro de Eclipse.Herramienta de Java Profiler en Mac OS X

Parece que hay algunos problemas graves de rendimiento y me gustaría utilizar un generador de perfiles para reducir estos problemas, pero no he podido encontrar nada decente para trabajar. He mirado en las siguientes opciones:

  • TPTP, barcos con Eclipse: Un error conocido evita que el generador de perfiles de correr en Mac :(
  • JProfiler: no tiene una versión para Mac
  • Profiler4J: Lo instalé, pero no pude hacerlo funcionar
  • Shark: viene con MacOSX, pero cuando elijo "Java Time Profile" y ejecuto mi webapp, no me permite elegir ningún proceso para el perfil
  • Otro herramientas que miré cuestan un montón de $$ y este es un proyecto de código abierto

He revisado esta lista: here pero hay demasiadas opciones y muy poco tiempo para revisarlas TODAS!

¿Alguien sabe de un analizador de Java visual fácil de usar que realmente funciona en Mac, dado mi entorno? Me encantaría escuchar tus sugerencias.

Muchas gracias chicos, Ali

Respuesta

11

Quizás podría dar VisualVM una oportunidad, si Java 6 es una opción. Esta bonita publicación de blog Setting up Sun's VisualVM on Mac OSX explica cómo hacer que funcione en Mac OSX.

u obtenga una licencia de código abierto para Yourkit que es de hecho una herramienta muy buena como Malaxeur señalado.

+0

Tuve el mismo problema. Ahora, casi 1 año después, VisualVM trae un dmg/.app y un Eclipse-Plugin. ¡Y es gratis! Absolutamente la forma de hacer perfiles en una Mac. Probé TPTP (que no está completamente implementado) y Shark (que también funciona solo con -d32) ... – roesslerj

+2

VisualVM aparece en/Developer/Applications/Utilities en 10.6 (puede que se requiera XCode) –

+0

Si está enfrentando problemas al configurar VisualVM para el perfil local, eche un vistazo a [Perfilando Tomcat con VisualVM en Mac OS X] (http://mballantyne.blogspot.com/2011/05/profiling-tomcat-with-visualvm-on-mac.html) –

0

No estoy seguro de lo difícil que sería hacer que el proyecto funcione bajo Netbeans ... pero si puede hacerlo sin demasiados problemas, entonces el generador de perfiles debería funcionar sin problemas.

VisualVM y Yourkit, como han señalado los otros aquí, también son buenos.

5

Estoy usando JProfiler en Mac OS X y estoy muy contento con él. No sé por qué escribió que no es compatible con OS X, incluso tienen una descarga de DMG en su sitio. Es una pieza costosa de software; sugiero contactar sus ventas. La mayoría de las empresas están felices de donar licencias para proyectos de código abierto.

Shark es la herramienta antigua. El último XCode viene con instrumentos. Una aplicación de creación de perfiles magníficamente basada en DTrace.Puede perfilar la aplicación Java, pero no se acercará al nivel de detalles que obtendrá con las herramientas creadas para instrumentar Java.

Otra opción es usar TPTP. El complemento Eclipse funciona en OS X, pero el controlador del agente no funciona. Puede ejecutar un Linux virtualizado (yo uso VMWare Fusion, pero puede usar la alternativa de FOSS, Virtualbox) y ejecutar allí su Tomcat. Puede conectar el TPTP en OS X y perfilar la aplicación que se ejecuta en el cuadro de Linux.

+0

+1 para JProfiler. También lo uso en una Mac. – z5h

1

Tenga en cuenta que Shark no funciona con Java ejecutándose en modo de 64 bits. Con OS X 10.6 java se ejecuta en 64 bits de forma predeterminada. Si le das a java el indicador "-d32" cuando se inicia, se ejecutará en modo de 32 bits. Combine esto con la bandera "-agentlib: Shark", y luego inicie Shark. Ahora debería poder perfilar su programa Java utilizando OS X 10.6 y Shark. Si el perfil de Java en el modo de 32 bits es aceptable, entonces esto podría ser útil para usted.