Jconsole遠程連接監控jvm
前提 關閉防火牆
第一步配置tomcat文件
進入/usr/local/tomcat6/bin下,打開catalina.sh(vi catalina.sh)文件,添加以下內容
1.避免jvm內存溢出,第一行添加:
JAVA_OPTS='-server -Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxPermSize=256M'

2.添加以下內容(需要密碼登錄)端口必須是1090
JAVA_OPTS="-Xms128m -Xmx128m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=128m -Djava.rmi.server.hostname=192.168.0.101
-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
#可以不用密碼
JAVA_OPTS="$JAVA_OPTS-Dcom.sun.management.jmxremote.pwd.file=/usr/java/jdk/jre/lib/management/jmxremote.password"
說明:
使用密碼登錄時authenticate為true,並且指定文件
/usr/java/jdk/jre/lib/management/jmxremote.password為密碼配置文件路徑
配置密碼文件移步第三部

說明:當tomacat執行./shutdown.sh時提示端口被占用,原因是在關閉Tomcat時,也執行了Catalish中的jmxremote的端口號,所以在添加判斷語句(if語句)

第二步配置ip
執行hostname -i

如果顯示127.0.0.1,那么修改hosts文件(vi /etc/hosts),否則連接jconsole失敗
原代碼

改為

改完再次執行hostname -i

第三步配置使用密碼連接jconsole
- 配置jmxremote.access文件
進入/usr/java/jdk/jre/lib/management目錄,打開並修改jmxremote.access文件



2.配置jmxremote.password文件
進入/usr/java/jdk/jre/lib/management目錄

復制該文件

打開並修改jmxremote.password文件

3.配置權限文件為600

第四步啟動jconsole遠程連接
Cmd進入d/jdk1.8/bin下執行jconsole命令打開Java監視和管理控制台

說明:
填寫ip+端口
用戶名(admin)和密碼(123456)為第三步配置的用戶名和密碼
點擊【連接】開始遠程連接並監控jvm。提示是否不安全方式重試,而且配置文件catalina.sh里我的ssl為false狀態

點擊【不安全連接】進入監控模式,這里不明白什么原因


