¿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.
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
ojcmd
o modificar el código fuente. Pasar argumentos a la JVM utilizandojava -X:someargs ...
no proporciona esta información. El agentehprof
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 utilizandojmap
ojcmd
o modificando el código fuente para agregar información en tiempo de ejecución.