1 一個war包或者jar包,這裏我用springboot的java
2 linux環境,安裝tomcat,jdk,我用的jdk11和tomcat9,jdk11和8的拷貝權限文件路徑有點不同,這個須要注意linux
3 無論是Jconsole仍是VisualVM,項目或者tomcat的配置都是同樣的!spring
參考文章: http://www.javashuo.com/article/p-xsdbsflf-mv.htmlapache
vim /etc/hosts 添加:vim
添加JMX啓動參數:tomcat
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access -Djava.rmi.server.hostname=公有IP"
springboot
添加監聽端口:mvc
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="6379" rmiServerPortPlatform="3306" />測試
這裏jdk11和jdk8目錄不同,jdk11在jdk-11.0.4/conf/management/ 下面,拷貝到tomcat剛纔配置的路徑便可.net
編輯jmxremote.password:
編輯jmxremote.access:
下載地址:http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote 我用的9.0.14,放到tomcat/lib下面,正常啓動就能夠了
注意: 若是鏈接不通,能夠先看端口可否Telnet,而後 hostname -i Ip是否正常!
項目 pom加入JMX依賴,須要和tomcat版本對應:
tomcat-catalina-jmx-remote: springboot 2.0.6對應的是8.5.34
<!-- https://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina-jmx-remote -->
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-catalina-jmx-remote</artifactId>
<version>8.5.34</version>
</dependency>
權限文件處理和war包同樣,jar項目啓動直接在後面加上配置權限便可,權限是必須配置的,還有端口在這裏直接配置:
java -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.password.file=~/jmxremote.password -Dcom.sun.management.jmxremote.access.file=~/jmxremote.access -Djava.rmi.server.hostname=47.93.1.227 -Dcom.sun.management.jmxremote.port=8011 -jar springmvc-0.0.1-SNAPSHOT.jar