最近打算在windows环境下使用jconsole监控应用程序,解决性能问题,但是jconsole一直无法检测到jenkins启动的程序。我通过如下做法,解决了该问题。希望能帮到有缘人...
1、首先确认jenkins程序和jconsole的启动用户是同一个。
例如jconsole启动的当前用户是administrator,而jenkins启动的应用程序不是administrator,比如我的一开始启动用户是system。则通过如下操作,修改jenkins的启动用户。
(1)右击“jenkins”服务,选择属性。
(2) 设置administrator用户。
2、然后,开放进程文件的授权。
如上进程文件所在的Temp文件夹,开放其授权。
3、接着,在启动命令中,加入如下配置。
-Dcom.sun.management.jmxremote.port=12321
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
port:端口,65535个任你挑,只要不冲突即可。
ssl:false 不进行ssl验证,本地不需要。
我的启动命令如下:
start cmd /c "title mgrsys312 && java -Xms4096m -Xmx4096m -XX:MetaspaceSize=256m -XX:+PerfBypassFileSystemCheck -XX:CompressedClassSpaceSize=128m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8 -Dcom.sun.management.jmxremote.port=18050 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar digarc-mgrsys.jar --spring.profiles.active=test"
4、最后,在jconsole使用远程监控配置,即可连接成功。希望能帮到有缘人...