visualvm не может видеть процесс Java, запущенный из Cygwin - PullRequest
15 голосов
/ 13 июля 2011

Если я запускаю процесс Java в консоли Cygwin, а затем запускаю visualVm, последний не сможет увидеть первый.

Если я запускаю тот же процесс в консоли Dos, VisualVM видит это нормально. Я в jdk1.6.0_25. Это происходит как в win7 32b, так и в win7 64b с 64b jvm.

Кто-нибудь может придумать объяснение / обходной путь?

Ответы [ 3 ]

11 голосов
/ 07 февраля 2012

Я исправил проблему, запустив VisualVM из Cygwin.Если вы предпочитаете не выполнять профилирование с использованием удаленного соединения JMX, вы можете запустить и VisualVM, и вашу Java-программу с помощью Cygwin:

Откройте окно консоли Cygwin, перейдите к visual_vm.exe и запустите этот файл изнутри.среда Cygwin.

2 голосов
/ 14 июля 2011

VisualVM может автоматически определять локальные приложения, работающие под тем же пользователем. Таким образом, одним из объяснений может быть то, что процесс cygwin выполняется под другим пользователем. Убедитесь, что и VisualVM, и отслеживаемое приложение работают под JDK 6, обновление 25. В JDK 6, обновление 25 есть исправление для следующей ошибки JDK # 6938627 , которая может повлиять на ваш случай.

2 голосов
/ 13 июля 2011

У меня была такая же проблема.VM не показывался автоматически, но я смог подключиться через «Add JMX Connection», используя имя хоста и 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
...