16

I am using VNC to connect to a server. I am able to VNC into the server, and open Jconsole, but cannot get it to connect to my process whether I include the PID or try connecting using the GUI. The weird thing is all the processes show up in the GUI. See below.

enter image description here

I get this when I try connecting:

enter image description here

Followed by

enter image description here

Is there something I need to do in order to get Jconsole working locally on a Linux server over VNC?

halfer
  • 19,824
  • 17
  • 99
  • 186
ControlAltDelete
  • 3,576
  • 5
  • 32
  • 50
  • There's nothing you need to do that would be different from doing it sitting at the physical keyboard. Does the `ts_watchdog` program disallow VM management? – chrylis -cautiouslyoptimistic- Aug 17 '13 at 23:25
  • No I run the same program from the same Executable Jar as a service using nohup java -jar [path] & ; Then I run jconosle PID and I am connected. If it makes a difference my laptop is a mac and the server is ubuntu. – ControlAltDelete Aug 17 '13 at 23:33

5 Answers5

21

Fix found here: You need to pass to the VM:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false

-- Edit - Fixed the =fals error mentioned in comments.

Community
  • 1
  • 1
ControlAltDelete
  • 3,576
  • 5
  • 32
  • 50
15

In my case, I also had to add this option to get Jconsole to connect to the process.

-Djava.rmi.server.hostname=localhost

Dexter
  • 337
  • 2
  • 10
5

Remote JConsole

Add the following parameters to your java Application and run it

-Djava.rmi.server.hostname=DOMAIN_PUBLIC_URL  -Dcom.sun.management.jmxremote.port=PORTNUMBER -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

DOMAIN_PUBLIC_URL - Like your instance public address

PORTNUMBER - 9955

Launch jconsole in your ubuntu from terminal command and go to remote connection and paste the DOMAIN_PUBLIC_URL and PORT and Connect it without username and password like insecure connection.

Make sure to expose the port number on your AWS Server Instance.

Dino
  • 7,779
  • 12
  • 46
  • 85
Abdul Hakeem
  • 51
  • 1
  • 2
1

Adding below property as VM argument in Run Configurations --> Arguments --

-Dcom.sun.management.jmxremote=true
Suvasis
  • 1,451
  • 4
  • 24
  • 42
1

In my case, I had to make it false and also add a hostname to localhost. Add this in VM arguments in Run Configurations.

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=localhost

enter image description here

Ritesh Singh
  • 181
  • 2
  • 12