У меня есть веб-сервис на amazon ec2, работающий на сервере glassfish 4, я пытался подключить visualvm к серверу, но это было невозможно, поэтому я последовал этому руководству (http://looksok.wordpress.com/2012/02/10/remote-use-of-visualvm-with-xming/), я установил плагиновую стеклянную рыбку в сервер jvisualvm, и теперь я могу контролировать стеклянную рыбку, но я не могу сбросить кучу, чтобы увидеть, как мое приложение использует память. Как я могу это сделать?Куча кучи в visualvm glassfish
0
A
ответ
1
Вы можете использовать инструмент jmap
в JDK для создания формата HPROF heapdump: http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html
В качестве примера, с PID вашего GlassFish в приведенном выше скриншоте, команда будет следующим образом:
jmap -dump:file=/path/to/my/dumpfile.hprof 1376
Вы также можете использовать jps
найти идентификатор процесса:
jps -v
Флаг -v
делает вывод подробным, предоставляя вам больше информации, чтобы узнать, какой именно процесс является правильным.
Вы попробовали щелчок правой кнопкой мыши приложение в окне «Приложения» и выбрав «Куча дампа»? –
Я отредактировал свой вопрос и опубликую скриншот. Я пытаюсь щелкнуть правой кнопкой мыши на стеклянную рыбку в меню слева и выбрать кучу дампа, но он покажет мне ошибку, которую вы можете увидеть на экране. – RoberV
у вас могут не быть привилегий, чтобы взять кучу кучи. Вы выполняете этот процесс как привилегированный пользователь? –