Estoy usando VisualVM de JDK 1.6.0_26 para perfilar una aplicación web Java que se ejecuta en Tomcat, pero VisualVM a menudo me dice que no tiene suficiente memoria para tomar una instantánea y usar el interruptor -Xmx para proporcionar más memoria a Netbeans . El problema es que estoy ejecutando VisualVM fuera de Netbeans, entonces, ¿cómo puedo proporcionar argumentos de JVM a jvisualvm.exe?
97
-J-Xms
y-J-Xmx
son realmente los nombres de las opciones correctos? ¿Es-J
necesario el prefijo cuando se especifican en el archivo conf?-J-Xms24m
&-J-Xmx256m
así que supongo que son los nombres correctos de las opciones. Probablemente podría buscar en Google cómo formatear visualvm.conf para obtener más información ...-J
prefijo./usr/lib/jvm/java-6-sun/lib/visualvm/etc/visualvm.conf
.o creo que esto también funciona:
jvisualvm.exe -J-Xmx512m
(o la cantidad que necesite)-J en la línea de comando .exe para configuraciones únicas, o el archivo .conf que se indica en la otra respuesta para cambiar los valores predeterminados
fuente
jvisualvm.exe -J-Xms256m -J-Xmx1024m
desde el símbolo del sistema y, al inspeccionar el proceso, pude ver que los argumentos no se aplicaron.-Xms24m -Xmx192m -Dsun.jvmstat.perdata.syncWaitMs=10000 -Xms256m -Xmx1024m
Empecé con
Y funcionó.
fuente
En mac, puede configurarlos editando este archivo.
/Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
fuente
Para Mac OSX 10.12+
Si ha descargado visualvm
dmg
de https://visualvm.github.io/download.html y lo ha movido alApplications
directorio. Puede encontrar el archivo de configuraciónvisualvm.conf
en la ubicaciónApplications/VisualVM.app/Contents/etc/visualvm.conf
. En este archivo de configuración, puede cambiar elvisualvm_default_options="-J-client -J-Xms24m -J-Xmx256m
a (por ejemplo)
visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048m
fuente