開發環境:java
win10 64位 ,idea 2018.1, JDK8ide
測試環境:測試
RHEL 6.5 JDK8idea
Jconsole監控:.net
在啓動java程序的時候指定jconsole的端口:線程
nohup /usr/java/jdk1.8.0_161/bin/javanetty
-Dcom.sun.management.jmxremote.port=61232code
-Dcom.sun.management.jmxremote.authenticate=false進程
-Dcom.sun.management.jmxremote.ssl=false ip
-Xms6g -Xmx6g -Xmn3g -jar ./runnable.jar
-Dio.netty.leakDetectionLevel=paranoid
> /dev/null 2>&1 &
說明:
-Dcom.sun.management.jmxremote.port=61232 指定訪問的端口
-Dcom.sun.management.jmxremote.authenticate=false 關閉認證
-Dcom.sun.management.jmxremote.ssl=false 關閉ssl認證
注意上面的必須在一行執行。沒有空格。
輸入遠程進程的IP地址和端口名稱,例如:
11.8.12.123:61232
使用jvisualVM來進行監控:
在java的安裝目錄的bin下面新建一個配置文件:
vi jstatd.all.policy
輸入下面的文字:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
保存。
啓動服務在12030端口:
rmiregistry 12030 & jstatd -J-Djava.security.policy=jstatd.all.policy -p 12030 &
主機名稱寫上遠程的主機ip
端口寫上剛纔啓動的12030。
有一些線程可能不知道是哪裏啓動的,能夠經過idea來進行查看。