#java #netbeans #jvisualvm
#java #netbeans #jvisualvm
Вопрос:
Я запускаю tomcat из netbeans. Я хотел бы отслеживать использование кучи в этом экземпляре tomcat, поэтому я запускаю jVisualVM. Однако процесс отсутствует в списке. Есть идеи?
Комментарии:
1. Вы уверены, что Tomcat запущен в отдельной JVM? Взгляните на монитор активности.
2. Я на 100% уверен, что tomcat — это отдельная jvm. Я могу выполнить ps-ef и найти процесс tomcat и завершить процесс tomcat, не затрагивая netbeans.
3. 510 org.netbeans. Main 1184 sun.tools.jps.Jps 717 org.netbeans.Main
Ответ №1:
Используете ли вы Java версии 6u24? Тогда вы можете стать жертвой этой ошибки, которая будет исправлена в 6u25 (в двух словах, jVisualVM не может найти ‘hsperfdata вашего процесса).
В противном случае вам придется включить мониторинг через JMX:
Передайте следующие параметры JVM в Tomcat:
-Dcom.sun.management.jmxremote.port=8888 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
Затем добавьте удаленный процесс в jVisualVM через File -> Add JMX Connection. Вы можете подключиться к процессу, используя порт 8888
У jVisualVM есть некоторые другие недостатки, например, пользователь, запускающий jVisualVM, должен быть таким же, как пользователь, владеющий процессом, который вы хотите отслеживать (хотя, я не думаю, что это ваша проблема). Смотрите больше здесь.