Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

How do I use JCommandCentre for a JFR recording on a remote server. To be more clear I have a docker container running java 11, where a JFR recording is already in progress.

JPID=118
jcmd $JPID JFR.configure repositorypath=/tmp/jcmdrecording/
jcmd $JPID JFR.start name=recording1 filename=JFRfile.jfr disk=true dumponexit=true  maxage=1d maxsize=200m  path-to-gc-roots=true
jcmd $JPID JFR.check

Now, in the JCommandCentre it seems that it's expecting some open port 7091. Is this port automatically started by JFR? And I'm suppose to port-forward my docker port 7091 to my localhost 7091?

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
3.8k views
Welcome To Ask or Share your Answers For Others

1 Answer

You need to start the management agent. You can do this when the application starts or using jcmd.

If you don't care about security on startup.

 java -Dcom.sun.management.jmxremote.port=7091
      -Dcom.sun.management.jmxremote.authenticate=false
      -Dcom.sun.management.jmxremote.ssl=false 
      ...

Using jcmd:

jcmd $JPID ManagementAgent.start
     jmxremote.port=7091
     jmxremote.ssl=false
     jmxremote.authenticate=false

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share

548k questions

547k answers

4 comments

86.3k users

...