Visualvm не видит Java-процесс, запущенный с cygwin
Если я запустил java-процесс в консоли cygwin, а затем запустил visualVm, то позже не увидим первого.
Если я запускаю тот же процесс в консоли Dos, visualvm видит, что это нормально. Я нахожусь в jdk1.6.0_25. Это происходит как в win7 32b, так и в win7 64b с 64-битным jvm.
Кто-нибудь может подумать об объяснении/обходном пути?
Ответы
Ответ 1
У меня была та же проблема. Vm не был показан автоматически, но я смог подключиться через "Добавить соединение JMX", используя имя хоста и jmx.remote.port...
В VisualVM перейдите в File → Add JMX Connection
localhost:3333
Добавить параметр vm при запуске, например:
-Dcom.sun.management.jmxremote.port=3333
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Ответ 2
Я исправил проблему, запустив VisualVM из Cygwin. Если вы предпочитаете не профилировать с помощью удаленного JMX-соединения, вы можете запускать VisualVM и вашу Java-программу с помощью Cygwin:
Откройте окно Cygwin Console, перейдите к visual_vm.exe и запустите этот файл из среды Cygwin.
Ответ 3
VisualVM может автоматически определять локальные приложения, работающие под одним и тем же пользователем. Таким образом, одно объяснение может заключаться в том, что процесс cygwin работает под другим пользователем. Убедитесь, что и VisualVM, и контролируемое приложение работают под обновлением JDK 6 25. Обновление JDK 6 25 имеет исправление для следующей ошибки JDK # 6938627, которые могут повлиять на ваш случай.