Máquina virtual Java microscopio de servicio Agente Introducción

la gente de artes marciales antiguas encontrarán su arma deseable, incluso Wukong lejos para ir bajo el agua juego de pistas. Liu Guan jurado propia mano, dijo inmediatamente después de las armas de bricolaje.

 

Lo mismo puede decirse de nuestros desarrolladores, se analiza el problema en el proceso de diagnóstico, depuración solución de problemas  herramientas jugaron un papel importante, dijo que hay una herramienta de mano que puede ahorrar mucho esfuerzo para resolver rápidamente originalmente lleva mucho tiempo al trabajo.

 

Por supuesto, ya hay una serie de herramientas se puede utilizar para el análisis de problemas y diagnóstico, como hemos descrito anteriormente dos:

 

Java siete armas, armas de fuego serie Overlord - hilo jstack análisis del estado

Siete armas de Java Serie Queling - diagnóstico de problemas artefacto BTrace

 

Pero más que las aplicaciones analíticas subyacentes, herramientas de bajo nivel de JVM a este nivel de menos.

Por ejemplo, algunas veces se utiliza en el análisis de un problema, que quieren entender la aplicación de la estructura actual de la memoria, clase cargada de contenido, análisis de interbloqueo de subproceso pila de memoria, estadísticas de supervivencia y objetos de consulta y así sucesivamente.

 

Estos, con lo que la herramienta es mejor? Estos análisis relativamente de bajo nivel, sólo puede basarse en el apoyo de la JVM, con el fin de análisis correcto. Afortunadamente, el funcionario proporciona una herramienta de este tipo.

 

Esta es la herramienta que mencionamos este menor de edad, o para ser precisos un conjunto de herramientas , pero el tiempo disponible para nosotros a usar, similar a la sensación de ventanilla única. En una completa herramienta de gran demanda, es  de servicio Agente , más a menudo se refiere como SA.

 

 

¿Qué es SA?

 

 

El agente de servicio es un componente privado Sol en el repositorio HotSpot que fue desarrollado por los ingenieros de HotSpot para ayudar en la depuración de HotSpot. Entonces se dieron cuenta de que SA se podría utilizar para herramientas de artesanía facilidad de servicio para los usuarios finales, ya que puede exponer a los objetos de Java, así como las estructuras de datos HotSpot tanto en los procesos en ejecución y en los archivos centrales.

 

En resumen, se trata de las empresas Sun (Oracle) para proporcionar una herramienta para el tiempo de ejecución de HotSpot y análisis de datos en el archivo Core. Se puede conectar con el proceso o analizar los datos de archivo de Core Java, comprender la carga de clases, es una API de Java contiene un amplio conjunto de herramientas e instrumentos.

Por otra parte, después SA attatch al proceso, se suspenderá la ejecución del proceso actual, que es obtener una instantánea del proceso. El proceso actual continuará después de la desconexión SA.

 

 

Modo de empleo

 

Archivo Jar SA en forma de JDK se proporciona, situado JAVA_HOME / lib / SA-jdi.jar . Y llevar a cabo el mismo archivo general tarro. SA ofrece dos maneras

 

  •  GUI modo  HSDB 

  •  línea de comandos  CLIHSDB .

 

 

Por ejemplo, utilizamos interfaz gráfica de usuario, vaya al directorio, ejecute el siguiente comando:

 

java -cp sa-jdi.jar sun.jvm.hotspot. HSDB

 

Adjuntar seleccione el menú Archivo bajo el Proceso HotSpot, Java puede entrar en proceso pid.

 

En este punto, verá hilos de un proceso se demuestran en la lista.

 

 

 Una serie de iconos en la parte superior, se puede ver información sobre el hilo seleccionado, por ejemplo, puede ser Inspeccionar, ver la estructura del objeto hilo de nivel VM, seleccione pila de memoria, ver la pila de datos contiene información de dirección.

 

Seguido por jstack Para obtener el Seguimiento de la pila.

 

En el menú Herramientas, hay una serie de herramientas.

 

 

Elegimos unos pocos para presentar la próxima brevemente.

 

Examinador de clases

 

A través de este, se puede ver toda la carga de clases JVM. Un método correspondiente a la información de clase se puede encontrar de forma natural. También es compatible con el local a un vertedero de clase. Para algunos, esto sólo puede ser analizado a través de los archivos de problema central puede ser analizada para obtener la clase.

El funcionamiento es sencillo, encontrar la clase correspondiente, crear la clase clic en OK, lib clase a la siguiente generación.

 

 

 

Encuentra objetos por consulta

 

Esta característica es similar a SQL y, en el objeto de cuadro de texto a consultar

Tal como esto:

 

seleccione t de t java.lang.Thread 

 

 

 

Visor de código

 

Para los métodos dentro de una clase, a veces es necesario analizar método del cuadrado o la JVM compilador JIT instrucciones pueden utilizar esta herramienta, la dirección introducida en el método de las clases o va a ver el contenido de los correspondientes

 

 

Encontrar valor en el montón

 

La herramienta puede ser un problema cuando GC similares, mediante la especificación de la dirección de un objeto para ver si hay objetos en el montón.

 

 

Al igual que la espada tiene una longevidad Baiyu Jing, muchas veces en el gran triunfo en la batalla.

 

Por SA, que no sólo son capaces de analizar las cosas de Java a nivel de aplicación, pero algunos de nivel JVM, el enfoque del compilador JIT, incluso, GC si el objeto reciclado, podemos entender fácilmente que si un microscopio JVM para ayudar en la SA bajo , los problemas son ningún lugar para esconderse.

 

lectura relacionada

80% de los programadores no entienden las técnicas de depuración

Cuando hablamos de depuración, lo que estamos hablando (principio de aplicación de depuración)

cargador de clases y la lucha de clases

 

 

Creo que este papel le fue útil? Comparten más personas a lo apoyan, gracias

Reloj "  Tomcat esa cosa   "  , encontró más excelente artículo! Entender los principios detrás y respuestas a las preguntas más frecuentes. un análisis en profundidad de la fuente de los datos, contenido original, atención de bienvenida.

Publicado 56 artículos originales · ganado elogios 0 · Vistas 7761

Supongo que te gusta

Origin blog.csdn.net/chainhou/article/details/105007766
Recomendado
Clasificación