J'utilise VisualVM de JDK 1.6.0_26 pour profiler une application Web Java exécutée sous Tomcat, mais VisualVM me dit souvent qu'il ne dispose pas de suffisamment de mémoire pour prendre un instantané et qu'il utilise le commutateur -Xmx pour fournir davantage de mémoire à Netbeans. . Le problème est que j'utilise VisualVM en dehors de Netbeans. Comment puis-je fournir des arguments JVM à jvisualvm.exe?
Devrait pouvoir modifier les paramètres de mémoire dans %JDK_HOME%\lib\visualvm\etc\visualvm.conf
Xms
et Xmx
sont dans la ligne default_options
.
ou je pense que cela fonctionne aussi:
jvisualvm.exe -J-Xmx512m
(ou le montant dont vous avez besoin)
-J sur la ligne de commande .exe pour les paramètres uniques, ou le fichier .conf indiqué dans l'autre réponse pour la modification des valeurs par défaut
J'ai commencé avec
jvisualvm -J-Xms1024m -J-Xmx2048m
et cela a fonctionné.
Sous mac, vous pouvez les configurer en modifiant ce fichier.
/Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
visualvm_default_options="-J-client -J-Xms4096m -J-Xmx5120m -J-XX:+IgnoreUnrecognizedVMOptions -J-Dnetbeans.accept_license_class=com.Sun.tools.visualvm.modules.startup.AcceptLicense -J-Dsun.jvmstat.perdata.syncWaitMs=10000 -J-Dsun.Java2d.noddraw=true"
Pour Mac OSX 10.12+
Si vous avez téléchargé visualvm dmg
depuis https://visualvm.github.io/download.html et que vous l’avez déplacé dans le répertoire Applications
. Vous pouvez trouver le fichier de configuration visualvm.conf
à l’emplacement Applications/VisualVM.app/Contents/etc/visualvm.conf
. Dans ce fichier de configuration, vous pouvez changer le
visualvm_default_options="-J-client -J-Xms24m -J-Xmx256m
à (par exemple)
visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048m