es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Hay alguna manera de imprimir información de la memoria en tiempo de ejecución de Java agregando argumentos JVM?

Quiero obtener el tamaño del heap comprometido por la JVM y el uso actual (valor pico). La aplicación es de corta duración.
¿Hay alguna forma de obtener la información de la memoria:
1. Sin usar jmap, jcmd, … (que requieren el pid)
2. Sin modificar el código fuente (por ejemplo, insertar: Runtime.getRuntime() …)
3. Solo pasando argumentos a JVM java -X:someargs ...

Parece que antes de jdk1.8 java -agentlib:hprof=heap podía ayudar, pero hprof ha sido eliminado.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no es posible obtener el tamaño del heap comprometido por la JVM y el uso real (valor máximo) sin utilizar herramientas como jmap o jcmd o modificar el código fuente. Pasar argumentos a la JVM utilizando java -X:someargs ... no proporciona esta información. El agente hprof solía proporcionar esta información antes de JDK 1.8, pero se ha eliminado. Por lo tanto, la única forma de obtener esta información es utilizando jmap o jcmd o modificando el código fuente para agregar información en tiempo de ejecución.

Comments are closed.