簡介
jdk有好多自帶的工具比如jconsole、jvisualvm、jstatd等
Windows的路徑:%JAVA_HOME/bin/目錄下,配置好環境變量直接用cmd執行jvisualvm命令即可
mac的jvisualvm的啟動路徑:/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/jvisualvm
使用jvisualvm監控遠程linux
①在遠程Linux主機上安裝jdk
②在jdk的bin目錄下創建文件:vi jstatd.all.policy
輸入:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
③啟動jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=
④啟動jvisualvm,添加遠程主機,默認端口是1099.即可看到遠程Linux的JAVA進程的監控情況了。
⑤查看發現在監控遠程服務器時,沒有監控到cpu數據,這時需要在服務器端建立 JMX ,建立 JMX 提示要求端口號。( JMX: Java Management Extensions ,即 Java 管理擴展 , 是一個為應用程序、設備、系統等植入管理功能的框架。 JMX 可以跨越一系列異構操作系統平台、系統體系結構和 網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用 。而 Visual VM是通過 JMX 來和遠程 Java 應用聯系的 )。修改遠程服務器tomcat的catalina.sh的參數,如下:
JAVA_OPTS="-Xms1024m -Xmx2048m -XX:MaxNewSize=512m -XX:MaxPermSize=512m -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
即可查看