Я использую VisualVM из JDK 1.6.0_26 для профилирования Java Webapp, работающего под Tomcat, но VisualVM часто говорит мне, что у него недостаточно памяти для создания моментального снимка и для использования переключателя -Xmx для обеспечения большего количества памяти Netbeans. Проблема в том, что я запускаю VisualVM за пределами Netbeans, поэтому как я могу предоставить аргументы JVM для jvisualvm.exe?
Как предоставить аргументы JVM VisualVM?
Ответ 1
Должна иметь возможность изменять настройки памяти в %JDK_HOME%\lib\visualvm\etc\visualvm.conf
Xms
и Xmx
находятся в строке default_options
.
Ответ 2
или я думаю, что это тоже работает:
jvisualvm.exe -J-Xmx512m
(или сколько вам потребуется)
-J в командной строке .exe для параметров onetime или файл .conf, указанный в другом ответе для изменения значений по умолчанию
Ответ 3
Я начал с
jvisualvm -J-Xms1024m -J-Xmx2048m
и он работал.
Ответ 4
В Mac вы можете настроить их, отредактировав этот файл.
/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"
Ответ 5
Для Mac OSX 10.12 +
Если вы загрузили visualvm dmg
из https://visualvm.github.io/download.html и перенесли его в каталог Applications
. Файл конфигурации visualvm.conf
можно найти в разделе Applications/VisualVM.app/Contents/etc/visualvm.conf
. В этом файле конфигурации вы можете изменить
visualvm_default_options="-J-client -J-Xms24m -J-Xmx256m
до (например)
visualvm_default_options="-J-client -J-Xms24m -J-Xmx2048g