如何在远程服务器上使用JCommandCentre进行JFR录制。更清楚的是,我有一个运行java 11的docker容器,其中JFR记录已经在进行中。
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现在,在JCommandCentre中,它似乎期望一些开放的端口7091。这个端口是由JFR自动启动的吗?我应该把我的docker端口7091转发到我的localhost 7091吗?

发布于 2021-01-16 00:24:07
您需要启动管理代理。您可以在应用程序启动时或使用jcmd执行此操作。
如果你不关心启动时的安全性。
java -Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
...使用jcmd:
jcmd $JPID ManagementAgent.start
jmxremote.port=7091
jmxremote.ssl=false
jmxremote.authenticate=falsehttps://stackoverflow.com/questions/65691725
复制相似问题