2011-07-13 21 views
14

Jeśli rozpocznę proces java w konsoli cygwin, a następnie uruchom VisualVm, to późniejszy nie będzie mógł zobaczyć pierwszego.visualvm nie może zobaczyć procesu java uruchomionego z cygwin

Jeśli uruchamiam ten sam proces w konsoli Dos, visualvm widzi to dobrze. Jestem w jdk1.6.0_25. Dzieje się tak zarówno w win7 32b, jak iw win7 64b z jvm 64b.

Ktoś może wymyślić wyjaśnienie/obejść?

+0

są zarówno od tego samego użytkownika systemu? – FlorianOver

+0

tak, ten sam użytkownik w obu – Persimmonium

+0

Dowolny parametr? Co stanie się, jeśli uruchomisz visualVM od cygwin? (Co się stanie, jeśli wyraźnie odwołasz się do niego przez połączenie jmx? Kliknij prawym przyciskiem myszy "Dodaj połączenie JMX") – FlorianOver

Odpowiedz

2

Miałem ten sam problem. VM nie został pokazany automatycznie, ale udało mi się połączyć za pośrednictwem "Dodaj połączenie JMX", używając nazwy hosta i jmx.remote.port ...

Na VisualVM przejdź do Plik -> Dodaj JMX Connection

localhost:3333 

Dodaj parametr vm na startowego np:

-Dcom.sun.management.jmxremote.port=3333 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 
2

VisualVM może automatycznie wykryć lokalnych aplikacji działających pod kontrolą tego samego użytkownika. Jednym wyjaśnieniem może być to, że proces cygwin działa pod innym użytkownikiem. Upewnij się, że zarówno VisualVM, jak i monitorowana aplikacja działają w ramach aktualizacji JDK 6 25. Aktualizacja JDK 6 25 ma poprawkę dla następującego JDK bug #6938627, która może mieć wpływ na twoją sprawę.

11

Naprawiłem problem, uruchamiając VisualVM z poziomu Cygwin. Jeśli nie chcesz, aby profil za pomocą zdalnego połączenia JMX można uruchomić zarówno VisualVM i Twój program Java przy użyciu Cygwin:

Otwórz okno Cygwin konsoli przejdź do visual_vm.exe i uruchomić ten plik z poziomu środowiska Cygwin .

+0

Lub po prostu $ JAVA_HOME/bin/jvisualvm – miraclefoxx